Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
p x
MapMultiEngine
Commits
42135beb
Commit
42135beb
authored
Sep 01, 2025
by
p x
Browse files
迁移基础功能
parent
6b587c56
Changes
55
Hide whitespace changes
Inline
Side-by-side
app/src/main/java/com/sd/mapmultiengine/TextMainActivity.kt
View file @
42135beb
...
...
@@ -9,13 +9,8 @@ import com.sd.maplibrary.MSDKInitializer
import
com.sd.maplibrary.OnSdkInitCb
import
com.sd.maplibrary.bean.MSLatLng
import
com.sd.maplibrary.bean.MSLocBean
import
com.sd.maplibrary.bean.PoiSearchRes
import
com.sd.maplibrary.bean.RegeocodeRes
import
com.sd.maplibrary.core.MSCanvesInMap
import
com.sd.maplibrary.core.MSGpsLocation
import
com.sd.maplibrary.core.MSMethodAdv
import
com.sd.maplibrary.core.MSPoiSearch
import
com.sd.maplibrary.core.MSRegeoCode
import
com.sd.maplibrary.core.basic.MSRegeoCode
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.maplibrary.vms.MainVM
...
...
@@ -55,7 +50,7 @@ class TextMainActivity : AppCompatActivity() {
//到搜索页面
}
binding
.
btLoc
.
setOnClickListener
{
testGpsLoc
()
}
}
...
...
@@ -69,23 +64,23 @@ class TextMainActivity : AppCompatActivity() {
// MSMethodAdv.setMapCenter(mapReadView, 39.977290, 116.337000)
//改变缩放级别
MSMethodAdv
.
setMapZoom
(
mapReadView
,
10f
)
//
MSMethodAdv.setMapZoom(mapReadView, 10f)
//绘制Marker点
MS
Canves
InMap
.
drawMarket
(
mapReadView
,
39.977290
,
116.337000
)
//
MS
Draw
InMap.drawMarket(mapReadView, 39.977290, 116.337000)
//绘制一条线
var
msLatLng
=
listOf
<
MSLatLng
>(
MSLatLng
(
39.999391
,
116.135972
),
MSLatLng
(
39.898323
,
116.057694
),
MSLatLng
(
39.900430
,
116.265061
),
MSLatLng
(
39.955192
,
116.140092
)
)
MS
Canves
InMap
.
drawPolyline
(
mapReadView
,
msLatLng
)
//
MS
Draw
InMap.drawPolyline(mapReadView, msLatLng)
//绘制一个圆形
MS
Canves
InMap
.
drawCircle
(
mapReadView
,
39.997290
,
116.337000
,
2000f
)
//
MS
Draw
InMap.drawCircle(mapReadView, 39.997290, 116.337000, 2000f)
//绘制一个面
var
mspLatLng
=
listOf
<
MSLatLng
>(
MSLatLng
(
39.993391
,
116.135272
),
MSLatLng
(
39.808323
,
116.057604
),
MSLatLng
(
39.904430
,
116.265061
),
MSLatLng
(
39.950192
,
116.140002
)
)
MS
Canves
InMap
.
drawPolygon
(
mapReadView
,
mspLatLng
)
//
MS
Draw
InMap.drawPolygon(mapReadView, mspLatLng)
//Poi搜索
// testPoiSearch()
//POi范围搜索
...
...
@@ -100,7 +95,7 @@ class TextMainActivity : AppCompatActivity() {
//poi搜索
fun
testPoiSearch
()
{
MSPoiSearch
.
startPoiSearch
(
/*
MSPoiSearch.startPoiSearch(
"北京大学",
41.80196,
123.43326,
...
...
@@ -110,12 +105,12 @@ class TextMainActivity : AppCompatActivity() {
) {
// println("------------poiList = ${poiList}")
}
})
})
*/
}
//poi 范围搜索
fun
testPoiSearchBound
()
{
MSPoiSearch
.
startPoiSearchBound
(
/*
MSPoiSearch.startPoiSearchBound(
"北京大学",
39.977290,
116.337000,
...
...
@@ -126,19 +121,10 @@ class TextMainActivity : AppCompatActivity() {
) {
// println("------------poiList = ${poiList}")
}
})
})
*/
}
//定位
fun
testGpsLoc
()
{
MSGpsLocation
.
initLoc
()
MSGpsLocation
.
setOnMsGpsLoc
(
object
:
MSGpsLocation
.
OnMsGpsLoc
{
override
fun
onMsGpsLoc
(
mSLocBean
:
MSLocBean
)
{
println
(
"---------mSLocBean = ${mSLocBean}"
)
}
})
MSGpsLocation
.
starLoc
()
}
fun
initMap
()
{
...
...
@@ -154,7 +140,7 @@ class TextMainActivity : AppCompatActivity() {
override
fun
onDestroy
()
{
super
.
onDestroy
()
MSGpsLocation
.
stopLoc
()
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/CalculateDistanceActivity.kt
View file @
42135beb
...
...
@@ -3,7 +3,7 @@ package com.sd.mapmultiengine.ui
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
com.sd.maplibrary.bean.MSLatLng
import
com.sd.maplibrary.core.MSCalcuMapUtil
import
com.sd.maplibrary.core.
basic.
MSCalcuMapUtil
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.databinding.ActivityCalculateDistanceBinding
...
...
app/src/main/java/com/sd/mapmultiengine/ui/ChangeMapCenterAct.kt
View file @
42135beb
...
...
@@ -2,8 +2,8 @@ package com.sd.mapmultiengine.ui
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
com.sd.maplibrary.core.MSMethodAdv
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.factorys.MapCoreApi
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.R
import
com.sd.mapmultiengine.databinding.ActivityChangeMapCenterBinding
...
...
@@ -27,16 +27,19 @@ class ChangeMapCenterAct : AppCompatActivity() {
}
})
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
binding
.
bt1
.
setOnClickListener
{
//改变地图中心点,第二个参数是纬度,第三个参数是经度
MSMethodAdv
.
setMapCenter
(
mapReadView
,
binding
.
et1
.
text
.
toString
().
toDouble
(),
binding
.
et2
.
text
.
toString
().
toDouble
())
mapCoreApi
.
setMapCenter
(
mapReadView
,
binding
.
et1
.
text
.
toString
().
toDouble
(),
binding
.
et2
.
text
.
toString
().
toDouble
())
}
//改变缩放级别
binding
.
bt2
.
setOnClickListener
{
var
zoom
=
binding
.
et3
.
text
.
toString
().
toFloat
()
//改变缩放级别
MSMethodAdv
.
setMapZoom
(
mapReadView
,
zoom
)
mapCoreApi
.
setMapZoom
(
mapReadView
,
zoom
)
}
// //设置地图边界范围
// binding.bt3.setOnClickListener {
...
...
app/src/main/java/com/sd/mapmultiengine/ui/GestureDemo.kt
View file @
42135beb
...
...
@@ -2,8 +2,8 @@ package com.sd.mapmultiengine.ui
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
com.sd.maplibrary.core.MSGestures
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.factorys.MapCoreApi
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.TextMainActivity
import
com.sd.mapmultiengine.databinding.ActivityGestureDemoBinding
...
...
@@ -28,13 +28,16 @@ class GestureDemo : AppCompatActivity() {
}
})
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
binding
.
bt1
.
setOnClickListener
{
//关闭(打开)旋转
MSGestures
.
setRotateGesturesEnabled
(
mapReadView
!!
,
false
)
mapCoreApi
.
setRotateGesturesEnabled
(
mapReadView
,
false
)
}
binding
.
bt2
.
setOnClickListener
{
//关闭(打开)倾斜开关
MSGestures
.
setTiltGesturesEnabled
(
mapReadView
!!
,
false
)
mapCoreApi
.
setTiltGesturesEnabled
(
mapReadView
,
false
)
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/ShowCarOnlineActivity.kt
View file @
42135beb
...
...
@@ -3,21 +3,14 @@ package com.sd.mapmultiengine.ui
import
android.os.Bundle
import
androidx.activity.enableEdgeToEdge
import
androidx.appcompat.app.AppCompatActivity
import
androidx.core.view.ViewCompat
import
androidx.core.view.WindowInsetsCompat
import
com.minedata.minenavi.mapdal.LatLng
import
com.minedata.minenavi.util.Tools
import
com.sd.maplibrary.bean.MSLatLng
import
com.sd.maplibrary.bean.MSLocBean
import
com.sd.maplibrary.core.MSGpsLocation
import
com.sd.maplibrary.core.MSMethodAdv
import
com.sd.maplibrary.core.MShowMainCarModel
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.core.basic.OnMsGpsLoc
import
com.sd.maplibrary.factorys.MapCoreApi
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.R
import
com.sd.mapmultiengine.databinding.ActivityShowCarOnlineBinding
import
com.sd.mapmultiengine.databinding.ActivityTgpsBinding
import
com.sd.mapmultiengine.ui.TGpsActivity
/***在线地推显示小车***/
class
ShowCarOnlineActivity
:
AppCompatActivity
()
{
...
...
@@ -25,6 +18,10 @@ class ShowCarOnlineActivity : AppCompatActivity() {
private
lateinit
var
binding
:
ActivityShowCarOnlineBinding
var
mapReadView
:
MapReadyView
?
=
null
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
enableEdgeToEdge
()
...
...
@@ -33,10 +30,16 @@ class ShowCarOnlineActivity : AppCompatActivity() {
binding
.
mapMultiView
.
addMapRenderCallback
(
object
:
OnMapReadyLis
{
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
this
@ShowCarOnlineActivity
.
mapReadView
=
mapReadyView
//地图加载完成后添加小车
var
center
=
MSLatLng
(
39.787678
,
116.518766
)
MSMethodAdv
.
setMapCenter
(
mapReadView
,
center
.
lat
,
center
.
lng
)
MShowMainCarModel
.
addMyLocCarModel
(
mapReadView
,
this
@ShowCarOnlineActivity
,
center
.
lat
,
center
.
lng
,
0f
)
//地图加载完成后添加小车
var
center
=
MSLatLng
(
39.787678
,
116.518766
)
// MSMethodAdv.setMapCenter(mapReadView,center.lat, center.lng)
MShowMainCarModel
.
addMyLocCarModel
(
mapReadView
,
this
@ShowCarOnlineActivity
,
center
.
lat
,
center
.
lng
,
0f
)
}
})
//显示小车
...
...
@@ -48,17 +51,14 @@ class ShowCarOnlineActivity : AppCompatActivity() {
}
//初始化定位
MSGpsLocation
.
initLoc
()
//设置定位回调
MSGpsLocation
.
setOnMsGpsLoc
(
object
:
MSGpsLocation
.
OnMsGpsLoc
{
mapCoreApi
.
startLoc
(
object
:
OnMsGpsLoc
{
override
fun
onMsGpsLoc
(
mSLocBean
:
MSLocBean
)
{
//在这里改变小车的位置
}
})
//开启定位
MSGpsLocation
.
starLoc
()
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/ShowMyLocLandian.kt
View file @
42135beb
...
...
@@ -2,26 +2,17 @@ package com.sd.mapmultiengine.ui
import
android.os.Bundle
import
androidx.activity.viewModels
import
com.google.android.material.snackbar.Snackbar
import
androidx.appcompat.app.AppCompatActivity
import
androidx.navigation.findNavController
import
androidx.navigation.ui.AppBarConfiguration
import
androidx.navigation.ui.navigateUp
import
androidx.navigation.ui.setupActionBarWithNavController
import
com.sd.maplibrary.core.MSLocationStyle
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.factorys.MapCoreApi
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.maplibrary.vms.MainVM
import
com.sd.mapmultiengine.R
import
com.sd.mapmultiengine.TextMainActivity
import
com.sd.mapmultiengine.databinding.ActivityShowMyLocLandianBinding
import
com.sd.mapmultiengine.viewmodels.MapDempVm
import
kotlin.getValue
import
com.sd.mapmultiengine.viewmodels.MapDemoVm
/***显示定位蓝点***/
class
ShowMyLocLandian
:
AppCompatActivity
()
{
val
mapDempVm
:
MapDem
p
Vm
by
viewModels
()
val
mapDempVm
:
MapDem
o
Vm
by
viewModels
()
private
lateinit
var
binding
:
ActivityShowMyLocLandianBinding
...
...
@@ -31,9 +22,12 @@ class ShowMyLocLandian : AppCompatActivity() {
binding
=
ActivityShowMyLocLandianBinding
.
inflate
(
layoutInflater
)
setContentView
(
binding
.
root
)
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
binding
.
mapMultiView
.
addMapRenderCallback
(
object
:
OnMapReadyLis
{
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
MSLocationStyle
.
setLocationStyle
(
mapReadyView
)
mapCoreApi
.
setLocationStyle
(
mapReadyView
)
}
})
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TCircelActivity.kt
View file @
42135beb
...
...
@@ -2,9 +2,10 @@ package com.sd.mapmultiengine.ui
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
com.sd.maplibrary.core.MSCanvesInMap
import
com.sd.maplibrary.core.MSOverlay
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.core.basic.MSDrawInMap
import
com.sd.maplibrary.core.basic.MSOverlay
import
com.sd.maplibrary.factorys.MapCoreApi
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.databinding.ActivityTcircelBinding
...
...
@@ -18,6 +19,9 @@ class TCircelActivity : AppCompatActivity() {
//覆盖物对象
private
var
mSOverlay
:
MSOverlay
?
=
null
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
binding
=
ActivityTcircelBinding
.
inflate
(
layoutInflater
)
...
...
@@ -28,14 +32,14 @@ class TCircelActivity : AppCompatActivity() {
this
@TCircelActivity
.
mapReadView
=
mapReadyView
//绘制一个圆形 116.3975,39.9079
mSOverlay
=
MSCanvesInMap
.
drawCircle
(
mapReadView
,
39.907923
,
116.397512
,
2000f
)
mSOverlay
=
mapCoreApi
.
drawCircle
(
mapReadView
,
39.907923
,
116.397512
,
2000f
)
}
})
//删除圆形
binding
.
bt1
.
setOnClickListener
{
//删除圆形
MS
Canves
InMap
.
deleteCircle
(
mapReadView
,
mSOverlay
)
MS
Draw
InMap
.
deleteCircle
(
mapReadView
,
mSOverlay
)
}
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TDriveRouteActivity.kt
View file @
42135beb
package
com.sd.mapmultiengine.ui
//import com.sd.maplibrary.core.MSRoutePlans
//import com.sd.maplibrary.core.MSRoutePlans.OnDriveRoute
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
com.amap.api.services.route.BusRouteResult
import
com.amap.api.services.route.DriveRouteResult
import
com.amap.api.services.route.RideRouteResult
import
com.amap.api.services.route.RouteSearch
import
com.amap.api.services.route.RouteSearch.DriveRouteQuery
import
com.amap.api.services.route.RouteSearch.OnRouteSearchListener
import
com.amap.api.services.route.WalkRouteResult
import
com.minedata.minenavi.map.Route
import
com.minedata.minenavi.mapdal.LatLng
import
com.minedata.minenavi.mapdal.PoiFavorite
import
com.minedata.minenavi.navi.ArrowInfo
import
com.minedata.minenavi.navi.BusRoute
import
com.minedata.minenavi.navi.GuidanceText
import
com.minedata.minenavi.navi.MineNaviListener
import
com.minedata.minenavi.navi.NaviProgressData
import
com.minedata.minenavi.navi.NaviSession
import
com.minedata.minenavi.navi.NaviSessionData
import
com.minedata.minenavi.navi.RouteBase
import
com.minedata.minenavi.navi.RouteBriefQuerier
import
com.minedata.minenavi.navi.RouteCollection
import
com.minedata.minenavi.navi.RoutePlan
import
com.minedata.minenavi.navi.RouterErrorInfo
import
com.minedata.minenavi.navi.SmoothNaviData
import
com.minedata.minenavi.navi.TmcSections
import
com.minedata.minenavi.util.Tools
import
com.sd.maplibrary.bean.DriverRouteBean
import
com.sd.maplibrary.bean.MSLatLng
import
com.sd.maplibrary.bean.WayPoi
//import com.sd.maplibrary.core.MSRoutePlans
//import com.sd.maplibrary.core.MSRoutePlans.OnDriveRoute
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.factorys.Map
Factory
import
com.sd.maplibrary.factorys.Map
CoreApi
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.databinding.ActivityTdriveRouteBinding
import
com.amap.api.services.core.LatLonPoint
as
ALatLonPoint
/***驾车路径规划***/
...
...
@@ -75,10 +48,10 @@ class TDriveRouteActivity : AppCompatActivity() {
}
var
ways
=
listOf
<
WayPoi
>(
wayPoi
)
//获取
基础
功能实例
var
basicMap
=
MapFactory
.
createBasic
()
//获取
接口
功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
//开始路径规划
basicMap
.
drivingPathPlanning
(
mapCoreApi
.
drivingPathPlanning
(
startPoint
,
"当前位置"
,
endPoint
,
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TGpsActivity.kt
View file @
42135beb
...
...
@@ -3,15 +3,12 @@ package com.sd.mapmultiengine.ui
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
com.sd.maplibrary.bean.MSLocBean
import
com.sd.maplibrary.core.MSCanvesInMap
import
com.sd.maplibrary.core.MSGpsLocation
import
com.sd.maplibrary.core.MSMarker
import
com.sd.maplibrary.core.MSMethodAdv
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.core.basic.MSMarker
import
com.sd.maplibrary.core.basic.OnMsGpsLoc
import
com.sd.maplibrary.factorys.MapCoreApi
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.databinding.ActivityTgpsBinding
import
com.sd.mapmultiengine.ui.TLayersActivity
import
com.sd.mapmultiengine.ui.TMarkerActivity
/***定位 ,展示我的位置***/
class
TGpsActivity
:
AppCompatActivity
()
{
...
...
@@ -24,6 +21,9 @@ class TGpsActivity : AppCompatActivity() {
var
lat
=
0.0
var
lng
=
0.0
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
binding
=
ActivityTgpsBinding
.
inflate
(
layoutInflater
)
...
...
@@ -39,10 +39,8 @@ class TGpsActivity : AppCompatActivity() {
}
})
//初始化定位
MSGpsLocation
.
initLoc
()
//设置回调
MSGpsLocation
.
setOnMsGpsLoc
(
object
:
MSGpsLocation
.
OnMsGpsLoc
{
//开启定位
mapCoreApi
.
startLoc
(
object
:
OnMsGpsLoc
{
override
fun
onMsGpsLoc
(
mSLocBean
:
MSLocBean
)
{
println
(
"---------mSLocBean = ${mSLocBean}"
)
lat
=
mSLocBean
.
lat
...
...
@@ -59,29 +57,25 @@ class TGpsActivity : AppCompatActivity() {
binding
.
tv
.
text
=
sb
}
})
//开启定位
binding
.
bt
.
setOnClickListener
{
//开启定位
MSGpsLocation
.
starLoc
()
}
//我的位置
binding
.
bt1
.
setOnClickListener
{
msMark
=
MSCanvesInMap
.
drawMarket
(
mapReadView
,
lat
,
lng
)
MSMethodAdv
.
setMapCenter
(
mapReadView
,
lat
,
lng
)
msMark
=
mapCoreApi
.
drawMarket
(
mapReadView
,
lat
,
lng
)
//
MSMethodAdv.setMapCenter(mapReadView, lat, lng)
}
}
override
fun
onStop
()
{
super
.
onStop
()
//停止定位
MSGpsLocation
.
stopLoc
()
mapCoreApi
.
stopLoc
()
}
override
fun
onDestroy
()
{
super
.
onDestroy
()
//清理资源
MSGpsLocation
.
cleansLoc
()
mapCoreApi
.
cleansLoc
()
}
}
\ No newline at end of file
app/src/main/java/com/sd/mapmultiengine/ui/TLayersActivity.kt
View file @
42135beb
...
...
@@ -4,7 +4,7 @@ package com.sd.mapmultiengine.ui
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.factorys.Map
Factory
import
com.sd.maplibrary.factorys.Map
CoreApi
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.R
import
com.sd.mapmultiengine.databinding.ActivityTlayersBinding
...
...
@@ -31,18 +31,18 @@ class TLayersActivity : AppCompatActivity() {
}
})
//获取
基础
功能实例
var
basicMap
=
MapFactory
.
createBasic
()
//获取
接口
功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
binding
.
rg
.
setOnCheckedChangeListener
{
group
,
checkedId
->
when
(
checkedId
)
{
R
.
id
.
rb1
->
{
//普通
basicMap
.
toggleLayers
(
mapReadView
,
1
)
mapCoreApi
.
toggleLayers
(
mapReadView
,
1
)
// MSLayers.changeLayers(mapReadView,1)
}
R
.
id
.
rb2
->
{
//卫星
basicMap
.
toggleLayers
(
mapReadView
,
2
)
mapCoreApi
.
toggleLayers
(
mapReadView
,
2
)
// MSLayers.changeLayers(mapReadView,2)
}
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TLineActivity.kt
View file @
42135beb
...
...
@@ -4,10 +4,10 @@ import android.graphics.Color
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
com.sd.maplibrary.bean.MSLatLng
import
com.sd.maplibrary.core.MSCanvesInMap
import
com.sd.maplibrary.core.MSMethodAdv
import
com.sd.maplibrary.core.MSOverlay
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.core.basic.MSDrawInMap
import
com.sd.maplibrary.core.basic.MSOverlay
import
com.sd.maplibrary.factorys.MapCoreApi
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.databinding.ActivityTlineBinding
...
...
@@ -28,12 +28,15 @@ class TLineActivity : AppCompatActivity() {
binding
=
ActivityTlineBinding
.
inflate
(
layoutInflater
)
setContentView
(
binding
.
root
)
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
binding
.
mapMultiView
.
addMapRenderCallback
(
object
:
OnMapReadyLis
{
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
this
@TLineActivity
.
mapReadView
=
mapReadyView
//绘制Marker点 116.3985,39.9079
//
MSCanvesInMap.dMarket(this@TLineActivity,
mapReadView, 39.907900, 116.398500)
MSMethodAdv
.
setMapCenter
(
mapReadView
,
39.999391
,
116.135972
)
mapCoreApi
.
drawMarket
(
mapReadView
,
39.907900
,
116.398500
)
mapCoreApi
.
setMapCenter
(
mapReadView
,
39.999391
,
116.135972
)
}
})
...
...
@@ -45,7 +48,7 @@ class TLineActivity : AppCompatActivity() {
MSLatLng
(
39.900430
,
116.265061
),
MSLatLng
(
39.955192
,
116.140092
)
)
mSOverlay
=
MSCanvesInMap
.
drawPolyline
(
mapReadView
,
msLatLng
,
5f
,
Color
.
argb
(
255
,
255
,
0
,
255
))
mapCoreApi
.
drawPolyline
(
mapReadView
,
msLatLng
,
5f
,
Color
.
argb
(
255
,
255
,
0
,
255
))
}
binding
.
bt2
.
setOnClickListener
{
//画虚线
...
...
@@ -53,7 +56,7 @@ class TLineActivity : AppCompatActivity() {
MSLatLng
(
39.999591
,
116.135973
),
MSLatLng
(
39.898123
,
116.057691
),
MSLatLng
(
39.900230
,
116.265062
),
MSLatLng
(
39.951192
,
116.140090
)
)
mSOverlay2
=
MSCanvesInMap
.
drawPolyline
(
mSOverlay2
=
mapCoreApi
.
drawPolyline
(
mapReadView
,
msLatLng
,
5f
,
...
...
@@ -64,9 +67,9 @@ class TLineActivity : AppCompatActivity() {
//删除线
binding
.
bt3
.
setOnClickListener
{
//删除实线
MS
Canves
InMap
.
deletePolyline
(
mapReadView
,
mSOverlay
)
MS
Draw
InMap
.
deletePolyline
(
mapReadView
,
mSOverlay
)
//删除虚线
MS
Canves
InMap
.
deletePolyline
(
mapReadView
,
mSOverlay2
)
MS
Draw
InMap
.
deletePolyline
(
mapReadView
,
mSOverlay2
)
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TMarkerActivity.kt
View file @
42135beb
...
...
@@ -2,10 +2,10 @@ package com.sd.mapmultiengine.ui
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
com.sd.maplibrary.core.MSCanvesInMap
import
com.sd.maplibrary.core.MSMarker
import
com.sd.maplibrary.core.MSOverlay
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.core.basic.MSDrawInMap
import
com.sd.maplibrary.core.basic.MSMarker
import
com.sd.maplibrary.factorys.MapCoreApi
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.databinding.ActivityTmarkerBinding
...
...
@@ -25,18 +25,21 @@ class TMarkerActivity : AppCompatActivity() {
binding
=
ActivityTmarkerBinding
.
inflate
(
layoutInflater
)
setContentView
(
binding
.
root
)
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
binding
.
mapMultiView
.
addMapRenderCallback
(
object
:
OnMapReadyLis
{
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
this
@TMarkerActivity
.
mapReadView
=
mapReadyView
//绘制Marker点 116.3985,39.9079
msMark
=
MSCanvesInMap
.
drawMarket
(
mapReadView
,
39.907900
,
116.398500
)
msMark
=
mapCoreApi
.
drawMarket
(
mapReadView
,
39.907900
,
116.398500
)
// MSMethodAdv.setMapCenter(mapReadView, 39.977290, 116.337000)
}
})
binding
.
bt1
.
setOnClickListener
{
//删除Marker点
MS
Canves
InMap
.
deleteMarker
(
mapReadView
,
msMark
)
MS
Draw
InMap
.
deleteMarker
(
mapReadView
,
msMark
)
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TPoiSearchActivity.kt
View file @
42135beb
...
...
@@ -3,8 +3,9 @@ package com.sd.mapmultiengine.ui
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
com.sd.maplibrary.bean.PoiSearchRes
import
com.sd.maplibrary.core.MSPoiSearch
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.core.basic.OnMSPoiSearchLis
import
com.sd.maplibrary.factorys.MapCoreApi
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.adapter.PoiAdapter
import
com.sd.mapmultiengine.databinding.ActivityTpoiSearchBinding
...
...
@@ -16,8 +17,12 @@ class TPoiSearchActivity : AppCompatActivity() {
var
mapReadView
:
MapReadyView
?
=
null
//POI返回适配器
private
var
poiAdapter
=
PoiAdapter
()
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
binding
=
ActivityTpoiSearchBinding
.
inflate
(
layoutInflater
)
...
...
@@ -54,11 +59,11 @@ class TPoiSearchActivity : AppCompatActivity() {
//poi搜索
fun
testPoiSearch
(
keyword
:
String
)
{
//poi搜索
MSPoiSearch
.
startPoiSearch
(
mapCoreApi
.
startPoiSearch
(
keyword
,
41.80196
,
123.43326
,
object
:
MSPoiSearch
.
OnMSPoiSearchLis
{
object
:
OnMSPoiSearchLis
{
override
fun
onPoiLis
(
poiList
:
List
<
PoiSearchRes
>
)
{
...
...
@@ -71,12 +76,12 @@ class TPoiSearchActivity : AppCompatActivity() {
//poi 范围搜索
fun
testPoiSearchBound
(
keyword
:
String
)
{
//poi 范围搜索
MSPoiSearch
.
startPoiSearchBound
(
mapCoreApi
.
startPoiSearchBound
(
keyword
,
39.977290
,
116.337000
,
binding
.
et1
.
text
.
toString
().
toInt
(),
object
:
MSPoiSearch
.
OnMSPoiSearchLis
{
object
:
OnMSPoiSearchLis
{
override
fun
onPoiLis
(
poiList
:
List
<
PoiSearchRes
>
)
{
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TPolygonActivity.kt
View file @
42135beb
...
...
@@ -3,10 +3,10 @@ package com.sd.mapmultiengine.ui
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
com.sd.maplibrary.bean.MSLatLng
import
com.sd.maplibrary.core.MSCanvesInMap
import
com.sd.maplibrary.core.MSMethodAdv
import
com.sd.maplibrary.core.MSOverlay
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.core.basic.MSDrawInMap
import
com.sd.maplibrary.core.basic.MSOverlay
import
com.sd.maplibrary.factorys.MapCoreApi
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.databinding.ActivityTpolygonBinding
...
...
@@ -18,6 +18,9 @@ class TPolygonActivity : AppCompatActivity() {
var
mapReadView
:
MapReadyView
?
=
null
//覆盖物对象
private
var
mSOverlay
:
MSOverlay
?
=
null
//获取接口功能实例
var
mapCoreApi
=
MapCoreApi
.
mapCoreApi
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
...
...
@@ -28,21 +31,21 @@ class TPolygonActivity : AppCompatActivity() {
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
this
@TPolygonActivity
.
mapReadView
=
mapReadyView
MSMethodAdv
.
setMapZoom
(
mapReadView
,
9f
)
//
MSMethodAdv.setMapZoom(mapReadView, 9f)
//绘制一个面
var
mspLatLng
=
listOf
<
MSLatLng
>(
MSLatLng
(
39.993391
,
116.135272
),
MSLatLng
(
39.808323
,
116.057604
),
MSLatLng
(
39.904430
,
116.265061
),
MSLatLng
(
39.950192
,
116.140002
)
)
mSOverlay
=
MSCanvesInMap
.
drawPolygon
(
mapReadView
,
mspLatLng
,
true
)
mSOverlay
=
mapCoreApi
.
drawPolygon
(
mapReadView
,
mspLatLng
,
true
)
}
})
//删除面
binding
.
bt1
.
setOnClickListener
{
//删除面
MS
Canves
InMap
.
deletePolygon
(
mapReadView
,
mSOverlay
)
MS
Draw
InMap
.
deletePolygon
(
mapReadView
,
mSOverlay
)
}
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TReGeocodeActivity.kt
View file @
42135beb
...
...
@@ -3,7 +3,7 @@ package com.sd.mapmultiengine.ui
import
android.os.Bundle
import
androidx.appcompat.app.AppCompatActivity
import
com.sd.maplibrary.bean.RegeocodeRes
import
com.sd.maplibrary.core.MSRegeoCode
import
com.sd.maplibrary.core.
basic.
MSRegeoCode
import
com.sd.mapmultiengine.databinding.ActivityTreGeocodeBinding
...
...
app/src/main/java/com/sd/mapmultiengine/viewmodels/MapDem
p
Vm.kt
→
app/src/main/java/com/sd/mapmultiengine/viewmodels/MapDem
o
Vm.kt
View file @
42135beb
...
...
@@ -2,5 +2,5 @@ package com.sd.mapmultiengine.viewmodels
import
androidx.lifecycle.ViewModel
class
MapDem
p
Vm
:
ViewModel
()
{
class
MapDem
o
Vm
:
ViewModel
()
{
}
\ No newline at end of file
maplibrary/src/main/AndroidManifest222.xml
0 → 100644
View file @
42135beb
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-feature
android:name=
"android.hardware.vulkan.version"
android:required=
"true"
/>
<uses-feature
android:name=
"android.hardware.touchscreen"
android:required=
"false"
/>
<uses-feature
android:name=
"android.hardware.touchscreen.multitouch"
android:required=
"false"
/>
<uses-feature
android:name=
"android.hardware.touchscreen.multitouch.distinct"
android:required=
"false"
/>
<application
android:enableOnBackInvokedCallback=
"false"
android:extractNativeLibs=
"true"
>
<meta-data
android:name=
"unity.splash-mode"
android:value=
"0"
/>
<meta-data
android:name=
"unity.splash-enable"
android:value=
"True"
/>
<meta-data
android:name=
"unity.launch-fullscreen"
android:value=
"True"
/>
<meta-data
android:name=
"unity.render-outside-safearea"
android:value=
"True"
/>
<meta-data
android:name=
"notch.config"
android:value=
"portrait|landscape"
/>
<meta-data
android:name=
"unity.auto-report-fully-drawn"
android:value=
"true"
/>
<activity
android:name=
"com.unity3d.player.UnityPlayerActivity"
android:configChanges=
"mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density"
android:exported=
"true"
android:hardwareAccelerated=
"false"
android:launchMode=
"singleTask"
android:resizeableActivity=
"false"
android:screenOrientation=
"fullUser"
android:theme=
"@style/UnityThemeSelector"
>
<!-- <intent-filter>-->
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- </intent-filter>-->
<meta-data
android:name=
"unityplayer.UnityActivity"
android:value=
"true"
/>
<meta-data
android:name=
"notch_support"
android:value=
"true"
/>
</activity>
</application>
</manifest>
\ No newline at end of file
maplibrary/src/main/java/com/sd/maplibrary/core/MSLayers.kt
deleted
100644 → 0
View file @
6b587c56
package
com.sd.maplibrary.core
import
com.amap.api.maps.AMap
import
com.minedata.minenavi.map.MineMap
import
com.minedata.minenavi.mapdal.CoordType
import
com.sd.maplibrary.MAP_TYPE
import
com.sd.maplibrary.MSDKInitializer
/**
* 地图图层切换
*
*/
object
MSLayers
{
/**
* 切换地图图层
* @param mapReadView 地图准备就绪视图对象
* @param type 1=普通 2=卫星
*/
fun
changeLayers
(
mapReadView
:
MapReadyView
?,
type
:
Int
)
{
if
(
MSDKInitializer
.
getMapType
()
==
MAP_TYPE
.
MINE
)
{
when
(
type
)
{
1
->
{
switch2D
(
mapReadView
?.
mMineMap
)
}
2
->
{
switchSatelliteLayer
(
mapReadView
?.
mMineMap
)
}
}
}
else
if
(
MSDKInitializer
.
getMapType
()
==
MAP_TYPE
.
AMAP
)
{
when
(
type
)
{
1
->
{
mapReadView
?.
aMap
?.
setMapType
(
AMap
.
MAP_TYPE_NORMAL
)
}
2
->
{
mapReadView
?.
aMap
?.
setMapType
(
AMap
.
MAP_TYPE_SATELLITE
)
}
}
}
else
{
}
}
//-----------四维---------------------------------------
private
fun
switch2D
(
mMineMap
:
MineMap
?)
{
//切换为2D平面图
mMineMap
?.
setElevation
(
90f
)
mMineMap
?.
setStyleClass
(
"DEFAULT"
)
mMineMap
?.
enableSatelliteLayer
(
false
)
}
private
fun
switchSatelliteLayer
(
mMineMap
:
MineMap
?)
{
//切换为卫星图
mMineMap
?.
setSatelliteImageType
(
MineMap
.
SatelliteImageSource
.
bing
,
CoordType
.
GCJ02
)
mMineMap
?.
setStyleClass
(
"SATELLITE"
)
mMineMap
?.
enableSatelliteLayer
(
true
)
}
// private fun switch3D() {
// //切换为3D俯视图
// mMineMap.setElevation(0)
// mMineMap.setStyleClass("DEFAULT")
// mMineMap.enableSatelliteLayer(false)
// }
}
\ No newline at end of file
maplibrary/src/main/java/com/sd/maplibrary/core/MSLocationStyle.kt
deleted
100644 → 0
View file @
6b587c56
package
com.sd.maplibrary.core
import
com.minedata.minenavi.map.MyLocationStyle
import
com.sd.maplibrary.MAP_TYPE
import
com.sd.maplibrary.MSDKInitializer
import
com.amap.api.maps.model.MyLocationStyle
as
aMapMyLocationStyle
/**
* 显示定位小圆点
*/
object
MSLocationStyle
{
// const val LOCATION_TYPE_EXTERNAL: Int = 0
// const val LOCATION_TYPE_SHOW: Int = 1
/**定位一次,且将视角移动到地图中心点**/
const
val
LOCATION_TYPE_LOCATE
:
Int
=
2
/**连续定位、且将视角移动到地图中心点,定位蓝点跟随设备移动**/
const
val
LOCATION_TYPE_FOLLOW
:
Int
=
3
/**连续定位、且将视角移动到地图中心点,地图依照设备方向旋转,定位点会跟随设备移动**/
const
val
LOCATION_TYPE_MAP_ROTATE
:
Int
=
4
/**连续定位、且将视角移动到地图中心点,定位点依照设备方向旋转,并且会跟随设备移动**/
const
val
LOCATION_TYPE_LOCATION_ROTATE
:
Int
=
5
/**连续定位、蓝点不会移动到地图中心点,定位点依照设备方向旋转,并且蓝点会跟随设备移动**/
const
val
LOCATION_TYPE_LOCATION_ROTATE_NO_CENTER
:
Int
=
6
/**连续定位、蓝点不会移动到地图中心点,并且蓝点会跟随设备移动**/
const
val
LOCATION_TYPE_FOLLOW_NO_CENTER
:
Int
=
7
/**连续定位、蓝点不会移动到地图中心点,地图依照设备方向旋转,并且蓝点会跟随设备移动**/
const
val
LOCATION_TYPE_MAP_ROTATE_NO_CENTER
:
Int
=
8
// 高德定位类型
private
var
styleAMap
=
mapOf
(
LOCATION_TYPE_LOCATE
to
aMapMyLocationStyle
.
LOCATION_TYPE_LOCATE
,
LOCATION_TYPE_FOLLOW
to
aMapMyLocationStyle
.
LOCATION_TYPE_FOLLOW
,
LOCATION_TYPE_MAP_ROTATE
to
aMapMyLocationStyle
.
LOCATION_TYPE_MAP_ROTATE
,
LOCATION_TYPE_LOCATION_ROTATE
to
aMapMyLocationStyle
.
LOCATION_TYPE_LOCATION_ROTATE
,
LOCATION_TYPE_LOCATION_ROTATE_NO_CENTER
to
aMapMyLocationStyle
.
LOCATION_TYPE_LOCATION_ROTATE_NO_CENTER
,
LOCATION_TYPE_FOLLOW_NO_CENTER
to
aMapMyLocationStyle
.
LOCATION_TYPE_FOLLOW_NO_CENTER
,
LOCATION_TYPE_MAP_ROTATE_NO_CENTER
to
aMapMyLocationStyle
.
LOCATION_TYPE_MAP_ROTATE_NO_CENTER
)
// 四维初始化定位蓝点样式类
private
val
myLocationStyle
:
MyLocationStyle
by
lazy
{
MyLocationStyle
()
}
//高德初始化定位蓝点样式类
private
val
aMyLocationStyle
by
lazy
{
aMapMyLocationStyle
()
}
/**
* 设置定位蓝点样式
* @param mapReadView 地图准备就绪视图对象
* @param type 定位类型,默认为LOCATION_TYPE_LOCATION_ROTATE,表示连续定位并旋转视角
*/
fun
setLocationStyle
(
mapReadView
:
MapReadyView
?,
type
:
Int
=
LOCATION_TYPE_LOCATION_ROTATE
)
{
when
(
MSDKInitializer
.
getMapType
())
{
MAP_TYPE
.
MINE
->
{
var
mMineMap
=
mapReadView
?.
mMineMap
// 连续定位、且将视角移动到地图中心点,定位点依照设备方向旋转,并且会跟随设备移动。(1秒1次定位)如果不设置myLocationType,默认也会执行此种模式。
myLocationStyle
.
myLocationType
(
type
)
// 设置连续定位模式下的定位间隔,只在连续定位模式下生效,单次定位模式下不会生效。单位为毫秒。
myLocationStyle
.
interval
(
2000
)
// 设置为true表示显示定位蓝点,false表示隐藏定位蓝点并不进行定位,默认是true。
myLocationStyle
.
showMyLocation
(
true
)
mMineMap
?.
setMyLocationStyle
(
myLocationStyle
)
}
MAP_TYPE
.
AMAP
->
{
var
aMap
=
mapReadView
?.
aMap
aMyLocationStyle
.
myLocationType
(
styleAMap
.
get
(
type
)
!!
)
aMyLocationStyle
.
interval
(
2000
)
//设置连续定位模式下的定位间隔,只在连续定位模式下生效,单次定位模式下不会生效。单位为毫秒。
//aMap.getUiSettings().setMyLocationButtonEnabled(true);设置默认定位按钮是否显示,非必需设置。
aMap
?.
setMyLocationEnabled
(
true
)
// 设置为true表示启动显示定位蓝点,false表示隐藏定位蓝点并不进行定位,默认是false。
aMap
?.
setMyLocationStyle
(
aMyLocationStyle
)
//设置定位蓝点的Style
}
}
}
}
\ No newline at end of file
maplibrary/src/main/java/com/sd/maplibrary/core/MSRoutePlans.kt
View file @
42135beb
...
...
@@ -40,7 +40,7 @@ import com.amap.api.maps.model.LatLng as ALatLng
message
=
"弃用 直接使用var basicMap = MapFactory.createBasic()\n"
+
" basicMap.drivingPathPlanning()"
)
object
MSRoutePlans
{
private
object
MSRoutePlans
{
//初始化高德 RouteSearch 对象
// private var mRouteSearch: RouteSearch? = null
//初始化高德 导航 对象
...
...
Prev
1
2
3
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment