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
f8483b51
Commit
f8483b51
authored
Aug 25, 2025
by
p x
Browse files
对照代码写文档
parent
aa564e16
Changes
41
Hide whitespace changes
Inline
Side-by-side
app/build.gradle.kts
View file @
f8483b51
plugins
{
plugins
{
alias
(
libs
.
plugins
.
android
.
application
)
alias
(
libs
.
plugins
.
android
.
application
)
alias
(
libs
.
plugins
.
kotlin
.
android
)
alias
(
libs
.
plugins
.
kotlin
.
android
)
id
(
"kotlin-kapt"
)
}
}
android
{
android
{
...
@@ -10,7 +11,7 @@ android {
...
@@ -10,7 +11,7 @@ android {
defaultConfig
{
defaultConfig
{
applicationId
=
"com.sd.mapmultiengine"
applicationId
=
"com.sd.mapmultiengine"
minSdk
=
29
minSdk
=
29
targetSdk
=
35
//
targetSdk = 35
versionCode
=
1
versionCode
=
1
versionName
=
"1.0"
versionName
=
"1.0"
...
@@ -50,6 +51,7 @@ dependencies {
...
@@ -50,6 +51,7 @@ dependencies {
implementation
(
libs
.
androidx
.
constraintlayout
)
implementation
(
libs
.
androidx
.
constraintlayout
)
implementation
(
libs
.
androidx
.
navigation
.
fragment
.
ktx
)
implementation
(
libs
.
androidx
.
navigation
.
fragment
.
ktx
)
implementation
(
libs
.
androidx
.
navigation
.
ui
.
ktx
)
implementation
(
libs
.
androidx
.
navigation
.
ui
.
ktx
)
testImplementation
(
libs
.
junit
)
testImplementation
(
libs
.
junit
)
androidTestImplementation
(
libs
.
androidx
.
junit
)
androidTestImplementation
(
libs
.
androidx
.
junit
)
androidTestImplementation
(
libs
.
androidx
.
espresso
.
core
)
androidTestImplementation
(
libs
.
androidx
.
espresso
.
core
)
...
...
app/src/main/AndroidManifest.xml
View file @
f8483b51
...
@@ -14,6 +14,14 @@
...
@@ -14,6 +14,14 @@
tools:targetApi=
"31"
>
tools:targetApi=
"31"
>
<meta-data
android:name=
"com.minedata.minenavi.apikey"
android:value=
"57ac7a0d56494912a0c28e651fa4a40a"
/>
<meta-data
android:name=
"com.amap.api.v2.apikey"
android:value=
"3b7d009011b97dcc3815a93e8ddfcd77"
/>
<activity
<activity
android:name=
".ui.ShowCarOnlineActivity"
android:name=
".ui.ShowCarOnlineActivity"
android:exported=
"false"
/>
android:exported=
"false"
/>
...
...
app/src/main/java/com/sd/mapmultiengine/MainActivity.kt
View file @
f8483b51
...
@@ -32,6 +32,11 @@ import com.sd.mapmultiengine.ui.TPolygonActivity
...
@@ -32,6 +32,11 @@ import com.sd.mapmultiengine.ui.TPolygonActivity
import
com.sd.mapmultiengine.ui.TReGeocodeActivity
import
com.sd.mapmultiengine.ui.TReGeocodeActivity
/**
* Main activity
*
* @constructor Create empty Main activity
*/
class
MainActivity
:
AppCompatActivity
()
{
class
MainActivity
:
AppCompatActivity
()
{
private
lateinit
var
binding
:
ActivityMainBinding
private
lateinit
var
binding
:
ActivityMainBinding
...
@@ -39,6 +44,13 @@ class MainActivity : AppCompatActivity() {
...
@@ -39,6 +44,13 @@ class MainActivity : AppCompatActivity() {
private
var
demoListAdapter
=
DemoListAdapter
()
private
var
demoListAdapter
=
DemoListAdapter
()
/**
* Demo details
*
* @property title
* @property activityClass
* @constructor Create empty Demo details
*/
class
DemoDetails
(
class
DemoDetails
(
var
title
:
String
,
var
title
:
String
,
var
activityClass
:
Class
<
out
Activity
>?
var
activityClass
:
Class
<
out
Activity
>?
...
@@ -63,10 +75,10 @@ class MainActivity : AppCompatActivity() {
...
@@ -63,10 +75,10 @@ class MainActivity : AppCompatActivity() {
DemoDetails
(
"驾车路线规划"
,
TDriveRouteActivity
::
class
.
java
),
DemoDetails
(
"驾车路线规划"
,
TDriveRouteActivity
::
class
.
java
),
DemoDetails
(
"业务相关"
,
null
),
//
DemoDetails("业务相关", null),
DemoDetails
(
"在线地图显示小车"
,
ShowCarOnlineActivity
::
class
.
java
),
//
DemoDetails("在线地图显示小车", ShowCarOnlineActivity::class.java),
DemoDetails
(
"测试高德加载WMS"
,
AMapWmsActivity
::
class
.
java
),
//
DemoDetails("测试高德加载WMS", AMapWmsActivity::class.java),
)
)
...
@@ -117,6 +129,12 @@ class MainActivity : AppCompatActivity() {
...
@@ -117,6 +129,12 @@ class MainActivity : AppCompatActivity() {
}
}
/**
* Init map
*
* @param type MINE=四维 AMAP=高德
*/
fun
initMap
(
type
:
MAP_TYPE
=
MAP_TYPE
.
AMAP
)
{
fun
initMap
(
type
:
MAP_TYPE
=
MAP_TYPE
.
AMAP
)
{
MSDKInitializer
.
initializeMap
(
this
,
type
,
object
:
OnSdkInitCb
{
MSDKInitializer
.
initializeMap
(
this
,
type
,
object
:
OnSdkInitCb
{
override
fun
onInitSuccess
()
{
override
fun
onInitSuccess
()
{
...
...
app/src/main/java/com/sd/mapmultiengine/TextMainActivity.kt
View file @
f8483b51
...
@@ -71,7 +71,7 @@ class TextMainActivity : AppCompatActivity() {
...
@@ -71,7 +71,7 @@ class TextMainActivity : AppCompatActivity() {
//改变缩放级别
//改变缩放级别
MSMethodAdv
.
setMapZoom
(
mapReadView
,
10f
)
MSMethodAdv
.
setMapZoom
(
mapReadView
,
10f
)
//绘制Marker点
//绘制Marker点
MSCanvesInMap
.
drawMarket
(
this
,
mapReadView
,
39.977290
,
116.337000
)
MSCanvesInMap
.
drawMarket
(
mapReadView
,
39.977290
,
116.337000
)
//绘制一条线
//绘制一条线
var
msLatLng
=
listOf
<
MSLatLng
>(
var
msLatLng
=
listOf
<
MSLatLng
>(
MSLatLng
(
39.999391
,
116.135972
),
MSLatLng
(
39.898323
,
116.057694
),
MSLatLng
(
39.999391
,
116.135972
),
MSLatLng
(
39.898323
,
116.057694
),
...
@@ -91,7 +91,7 @@ class TextMainActivity : AppCompatActivity() {
...
@@ -91,7 +91,7 @@ class TextMainActivity : AppCompatActivity() {
//POi范围搜索
//POi范围搜索
// testPoiSearchBound()
// testPoiSearchBound()
//逆地理编码
//逆地理编码
MSRegeoCode
.
geoCoder
(
this
,
41.80196
,
123.43326
,
object
:
MSRegeoCode
.
MSOnRegeo
{
MSRegeoCode
.
geoCoder
(
41.80196
,
123.43326
,
object
:
MSRegeoCode
.
MSOnRegeo
{
override
fun
onRegeo
(
regeocodeRes
:
RegeocodeRes
?)
{
override
fun
onRegeo
(
regeocodeRes
:
RegeocodeRes
?)
{
var
a
=
0
var
a
=
0
}
}
...
@@ -101,14 +101,12 @@ class TextMainActivity : AppCompatActivity() {
...
@@ -101,14 +101,12 @@ class TextMainActivity : AppCompatActivity() {
//poi搜索
//poi搜索
fun
testPoiSearch
()
{
fun
testPoiSearch
()
{
MSPoiSearch
.
startPoiSearch
(
MSPoiSearch
.
startPoiSearch
(
this
,
"北京大学"
,
"北京大学"
,
41.80196
,
41.80196
,
123.43326
,
123.43326
,
object
:
MSPoiSearch
.
OnMSPoiSearchLis
{
object
:
MSPoiSearch
.
OnMSPoiSearchLis
{
override
fun
onPoiLis
(
override
fun
onPoiLis
(
poiList
:
List
<
PoiSearchRes
>,
poiList
:
List
<
PoiSearchRes
>
resCode
:
Int
)
{
)
{
// println("------------poiList = ${poiList}")
// println("------------poiList = ${poiList}")
}
}
...
@@ -118,15 +116,13 @@ class TextMainActivity : AppCompatActivity() {
...
@@ -118,15 +116,13 @@ class TextMainActivity : AppCompatActivity() {
//poi 范围搜索
//poi 范围搜索
fun
testPoiSearchBound
()
{
fun
testPoiSearchBound
()
{
MSPoiSearch
.
startPoiSearchBound
(
MSPoiSearch
.
startPoiSearchBound
(
this
,
"北京大学"
,
"北京大学"
,
39.977290
,
39.977290
,
116.337000
,
116.337000
,
25000
,
25000
,
object
:
MSPoiSearch
.
OnMSPoiSearchLis
{
object
:
MSPoiSearch
.
OnMSPoiSearchLis
{
override
fun
onPoiLis
(
override
fun
onPoiLis
(
poiList
:
List
<
PoiSearchRes
>,
poiList
:
List
<
PoiSearchRes
>
resCode
:
Int
)
{
)
{
// println("------------poiList = ${poiList}")
// println("------------poiList = ${poiList}")
}
}
...
@@ -135,7 +131,7 @@ class TextMainActivity : AppCompatActivity() {
...
@@ -135,7 +131,7 @@ class TextMainActivity : AppCompatActivity() {
//定位
//定位
fun
testGpsLoc
()
{
fun
testGpsLoc
()
{
MSGpsLocation
.
initLoc
(
this
)
MSGpsLocation
.
initLoc
()
MSGpsLocation
.
setOnMsGpsLoc
(
object
:
MSGpsLocation
.
OnMsGpsLoc
{
MSGpsLocation
.
setOnMsGpsLoc
(
object
:
MSGpsLocation
.
OnMsGpsLoc
{
override
fun
onMsGpsLoc
(
mSLocBean
:
MSLocBean
)
{
override
fun
onMsGpsLoc
(
mSLocBean
:
MSLocBean
)
{
println
(
"---------mSLocBean = ${mSLocBean}"
)
println
(
"---------mSLocBean = ${mSLocBean}"
)
...
...
app/src/main/java/com/sd/mapmultiengine/adapter/PoiAdapter.kt
View file @
f8483b51
...
@@ -59,8 +59,13 @@ class PoiAdapter : BaseQuickAdapter<PoiSearchRes, PoiAdapter.PoiSH>() {
...
@@ -59,8 +59,13 @@ class PoiAdapter : BaseQuickAdapter<PoiSearchRes, PoiAdapter.PoiSH>() {
binding
.
poiDes
.
text
=
bean
.
snippet
binding
.
poiDes
.
text
=
bean
.
snippet
// binding.tvDistan.text=bean.distance.toString()
// binding.tvDistan.text=bean.distance.toString()
val
distanceBean
:
DistanceBean
=
MyGeoTools
.
cauMyLocDistance
(
bean
.
lat
,
bean
.
lng
)
if
(
bean
.
distance
==
0
){
binding
.
tvDistan
.
text
=
"${distanceBean.distanceValue}${distanceBean.distanceUnit}"
val
distanceBean
:
DistanceBean
=
MyGeoTools
.
cauMyLocDistance
(
0.0
,
0.0
,
bean
.
lat
,
bean
.
lng
)
binding
.
tvDistan
.
text
=
"${distanceBean.distanceValue}${distanceBean.distanceUnit}"
}
else
{
binding
.
tvDistan
.
text
=
"${bean.distance}米"
}
}
}
fun
setListener
()
{
fun
setListener
()
{
...
...
app/src/main/java/com/sd/mapmultiengine/ui/CalculateDistanceActivity.kt
View file @
f8483b51
package
com.sd.mapmultiengine.ui
package
com.sd.mapmultiengine.ui
import
android.os.Bundle
import
android.os.Bundle
import
android.widget.Toast
import
androidx.activity.enableEdgeToEdge
import
androidx.appcompat.app.AppCompatActivity
import
androidx.appcompat.app.AppCompatActivity
import
androidx.core.view.ViewCompat
import
androidx.core.view.WindowInsetsCompat
import
com.sd.maplibrary.bean.MSLatLng
import
com.sd.maplibrary.bean.MSLatLng
import
com.sd.maplibrary.core.MSMapUtil
import
com.sd.maplibrary.core.MS
Calcu
MapUtil
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.R
import
com.sd.mapmultiengine.databinding.ActivityCalculateDistanceBinding
import
com.sd.mapmultiengine.databinding.ActivityCalculateDistanceBinding
import
com.sd.mapmultiengine.databinding.ActivityDisplayMapBinding
import
com.sd.mapmultiengine.ui.DisplayMapActivity
import
com.sd.mapmultiengine.utils.ToastHelper
import
com.sd.mapmultiengine.utils.ToastHelper
/****两点间距离计算***/
/****两点间距离计算***/
...
@@ -38,10 +31,10 @@ class CalculateDistanceActivity : AppCompatActivity() {
...
@@ -38,10 +31,10 @@ class CalculateDistanceActivity : AppCompatActivity() {
binding
.
bt1
.
setOnClickListener
{
binding
.
bt1
.
setOnClickListener
{
var
latLng1
=
MSLatLng
(
binding
.
et1
.
text
.
toString
().
toDouble
(),
binding
.
et2
.
text
.
toString
().
toDouble
())
var
latLng1
=
MSLatLng
(
binding
.
et1
.
text
.
toString
().
toDouble
(),
binding
.
et2
.
text
.
toString
().
toDouble
())
var
latLng2
=
MSLatLng
(
binding
.
et3
.
text
.
toString
().
toDouble
(),
binding
.
et4
.
text
.
toString
().
toDouble
())
var
latLng2
=
MSLatLng
(
binding
.
et3
.
text
.
toString
().
toDouble
(),
binding
.
et4
.
text
.
toString
().
toDouble
())
// 计算2点距离
var
dis
=
MSMapUtil
.
calculateLineDistance
(
mapReadView
,
latLng1
,
latLng2
)
var
dis
=
MS
Calcu
MapUtil
.
calculateLineDistance
(
latLng1
,
latLng2
)
println
(
"----计算2点距离 = ${dis}"
)
println
(
"----计算2点距离 = ${dis}
米
"
)
ToastHelper
.
showShort
(
this
@CalculateDistanceActivity
,
"距离= $dis"
)
ToastHelper
.
showShort
(
this
@CalculateDistanceActivity
,
"距离= $
{
dis
}米
"
)
}
}
}
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/ChangeMapCenterAct.kt
View file @
f8483b51
...
@@ -29,12 +29,13 @@ class ChangeMapCenterAct : AppCompatActivity() {
...
@@ -29,12 +29,13 @@ class ChangeMapCenterAct : AppCompatActivity() {
binding
.
bt1
.
setOnClickListener
{
binding
.
bt1
.
setOnClickListener
{
//改变地图中心点
//改变地图中心点
,第二个参数是纬度,第三个参数是经度
MSMethodAdv
.
setMapCenter
(
mapReadView
,
binding
.
et1
.
text
.
toString
().
toDouble
(),
binding
.
et2
.
text
.
toString
().
toDouble
())
MSMethodAdv
.
setMapCenter
(
mapReadView
,
binding
.
et1
.
text
.
toString
().
toDouble
(),
binding
.
et2
.
text
.
toString
().
toDouble
())
}
}
//改变缩放级别
//改变缩放级别
binding
.
bt2
.
setOnClickListener
{
binding
.
bt2
.
setOnClickListener
{
var
zoom
=
binding
.
et3
.
text
.
toString
().
toFloat
()
var
zoom
=
binding
.
et3
.
text
.
toString
().
toFloat
()
//改变缩放级别
MSMethodAdv
.
setMapZoom
(
mapReadView
,
zoom
)
MSMethodAdv
.
setMapZoom
(
mapReadView
,
zoom
)
}
}
// //设置地图边界范围
// //设置地图边界范围
...
...
app/src/main/java/com/sd/mapmultiengine/ui/GestureDemo.kt
View file @
f8483b51
...
@@ -29,11 +29,11 @@ class GestureDemo : AppCompatActivity() {
...
@@ -29,11 +29,11 @@ class GestureDemo : AppCompatActivity() {
})
})
binding
.
bt1
.
setOnClickListener
{
binding
.
bt1
.
setOnClickListener
{
//关闭旋转
//关闭
(打开)
旋转
MSGestures
.
setRotateGesturesEnabled
(
mapReadView
!!
,
false
)
MSGestures
.
setRotateGesturesEnabled
(
mapReadView
!!
,
false
)
}
}
binding
.
bt2
.
setOnClickListener
{
binding
.
bt2
.
setOnClickListener
{
//关闭倾斜开关
//关闭
(打开)
倾斜开关
MSGestures
.
setTiltGesturesEnabled
(
mapReadView
!!
,
false
)
MSGestures
.
setTiltGesturesEnabled
(
mapReadView
!!
,
false
)
}
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/ShowCarOnlineActivity.kt
View file @
f8483b51
...
@@ -49,7 +49,7 @@ class ShowCarOnlineActivity : AppCompatActivity() {
...
@@ -49,7 +49,7 @@ class ShowCarOnlineActivity : AppCompatActivity() {
}
}
//初始化定位
//初始化定位
MSGpsLocation
.
initLoc
(
this
)
MSGpsLocation
.
initLoc
()
//设置定位回调
//设置定位回调
MSGpsLocation
.
setOnMsGpsLoc
(
object
:
MSGpsLocation
.
OnMsGpsLoc
{
MSGpsLocation
.
setOnMsGpsLoc
(
object
:
MSGpsLocation
.
OnMsGpsLoc
{
override
fun
onMsGpsLoc
(
mSLocBean
:
MSLocBean
)
{
override
fun
onMsGpsLoc
(
mSLocBean
:
MSLocBean
)
{
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TCircelActivity.kt
View file @
f8483b51
...
@@ -15,6 +15,7 @@ class TCircelActivity : AppCompatActivity() {
...
@@ -15,6 +15,7 @@ class TCircelActivity : AppCompatActivity() {
var
mapReadView
:
MapReadyView
?
=
null
var
mapReadView
:
MapReadyView
?
=
null
//覆盖物对象
private
var
mSOverlay
:
MSOverlay
?
=
null
private
var
mSOverlay
:
MSOverlay
?
=
null
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
...
@@ -33,7 +34,8 @@ class TCircelActivity : AppCompatActivity() {
...
@@ -33,7 +34,8 @@ class TCircelActivity : AppCompatActivity() {
//删除圆形
//删除圆形
binding
.
bt1
.
setOnClickListener
{
binding
.
bt1
.
setOnClickListener
{
MSCanvesInMap
.
deleteCircle
(
mapReadView
,
mSOverlay
)
//删除圆形
MSCanvesInMap
.
deleteCircle
(
mapReadView
,
mSOverlay
)
}
}
}
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TDriveRouteActivity.kt
View file @
f8483b51
...
@@ -31,7 +31,6 @@ import com.sd.maplibrary.MAP_TYPE
...
@@ -31,7 +31,6 @@ import com.sd.maplibrary.MAP_TYPE
import
com.sd.maplibrary.MSDKInitializer
import
com.sd.maplibrary.MSDKInitializer
import
com.sd.maplibrary.bean.DriverRouteBean
import
com.sd.maplibrary.bean.DriverRouteBean
import
com.sd.maplibrary.bean.MSLatLng
import
com.sd.maplibrary.bean.MSLatLng
import
com.sd.maplibrary.bean.RouteOver
import
com.sd.maplibrary.bean.WayPoi
import
com.sd.maplibrary.bean.WayPoi
import
com.sd.maplibrary.core.MSRoutePlans
import
com.sd.maplibrary.core.MSRoutePlans
import
com.sd.maplibrary.core.MSRoutePlans.OnDriveRoute
import
com.sd.maplibrary.core.MSRoutePlans.OnDriveRoute
...
@@ -60,7 +59,7 @@ class TDriveRouteActivity : AppCompatActivity() {
...
@@ -60,7 +59,7 @@ class TDriveRouteActivity : AppCompatActivity() {
})
})
//初始化并设置监听
//初始化并设置监听
MSRoutePlans
.
addPlanLis
(
this
,
onDriveRoute
)
MSRoutePlans
.
addPlanLis
(
onDriveRoute
)
//开始规划
//开始规划
binding
.
starplan
.
setOnClickListener
{
binding
.
starplan
.
setOnClickListener
{
if
(
mapReadView
==
null
)
if
(
mapReadView
==
null
)
...
@@ -77,7 +76,7 @@ class TDriveRouteActivity : AppCompatActivity() {
...
@@ -77,7 +76,7 @@ class TDriveRouteActivity : AppCompatActivity() {
}
}
var
ways
=
listOf
<
WayPoi
>(
wayPoi
)
var
ways
=
listOf
<
WayPoi
>(
wayPoi
)
//开始路径规划
//开始路径规划
MSRoutePlans
.
drivingPathPlanning
(
this
,
startPoint
,
endPoint
,
ways
,
endName
)
MSRoutePlans
.
drivingPathPlanning
(
startPoint
,
endPoint
,
ways
,
endName
)
// testDriverPlan()
// testDriverPlan()
// testDriverPlanaMAP()
// testDriverPlanaMAP()
...
@@ -88,30 +87,10 @@ class TDriveRouteActivity : AppCompatActivity() {
...
@@ -88,30 +87,10 @@ class TDriveRouteActivity : AppCompatActivity() {
//算路结果回调
//算路结果回调
private
var
onDriveRoute
=
object
:
OnDriveRoute
{
private
var
onDriveRoute
=
object
:
OnDriveRoute
{
override
fun
onDriverRoute
(
driverRouteBean
:
DriverRouteBean
)
{
override
fun
onDriverRoute
(
driverRouteBean
:
DriverRouteBean
)
{
MSRoutePlans
.
drawPlanPath
(
when
(
MSDKInitializer
.
getMapType
())
{
mapReadView
,
MAP_TYPE
.
MINE
->
{
//开始绘制
driverRouteBean
//删除已存在的路径图层
)
// if (RouteOver.instance.route != null) {
// mapReadView?.mMineMap?.removeOverlay(RouteOver.instance.route)
// }
MSRoutePlans
.
drawPlanPath
(
mapReadView
,
driverRouteBean
,
this
@TDriveRouteActivity
)
}
MAP_TYPE
.
AMAP
->
{
// 清理地图上的所有覆盖物
// mapReadView?.aMap?.clear()
MSRoutePlans
.
drawPlanPath
(
mapReadView
,
driverRouteBean
,
this
@TDriveRouteActivity
)
}
}
}
}
}
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TGpsActivity.kt
View file @
f8483b51
...
@@ -40,7 +40,7 @@ class TGpsActivity : AppCompatActivity() {
...
@@ -40,7 +40,7 @@ class TGpsActivity : AppCompatActivity() {
})
})
//初始化定位
//初始化定位
MSGpsLocation
.
initLoc
(
this
)
MSGpsLocation
.
initLoc
()
//设置回调
//设置回调
MSGpsLocation
.
setOnMsGpsLoc
(
object
:
MSGpsLocation
.
OnMsGpsLoc
{
MSGpsLocation
.
setOnMsGpsLoc
(
object
:
MSGpsLocation
.
OnMsGpsLoc
{
override
fun
onMsGpsLoc
(
mSLocBean
:
MSLocBean
)
{
override
fun
onMsGpsLoc
(
mSLocBean
:
MSLocBean
)
{
...
@@ -61,12 +61,12 @@ class TGpsActivity : AppCompatActivity() {
...
@@ -61,12 +61,12 @@ class TGpsActivity : AppCompatActivity() {
})
})
//开启定位
//开启定位
binding
.
bt
.
setOnClickListener
{
binding
.
bt
.
setOnClickListener
{
//开启定位
MSGpsLocation
.
starLoc
()
MSGpsLocation
.
starLoc
()
}
}
//我的位置
//我的位置
binding
.
bt1
.
setOnClickListener
{
binding
.
bt1
.
setOnClickListener
{
msMark
=
msMark
=
MSCanvesInMap
.
drawMarket
(
mapReadView
,
lat
,
lng
)
MSCanvesInMap
.
drawMarket
(
this
,
mapReadView
,
lat
,
lng
)
MSMethodAdv
.
setMapCenter
(
mapReadView
,
lat
,
lng
)
MSMethodAdv
.
setMapCenter
(
mapReadView
,
lat
,
lng
)
}
}
}
}
...
@@ -81,7 +81,7 @@ class TGpsActivity : AppCompatActivity() {
...
@@ -81,7 +81,7 @@ class TGpsActivity : AppCompatActivity() {
override
fun
onDestroy
()
{
override
fun
onDestroy
()
{
super
.
onDestroy
()
super
.
onDestroy
()
//清理资源
//清理资源
MSGpsLocation
.
cleans
()
MSGpsLocation
.
cleans
Loc
()
}
}
}
}
\ No newline at end of file
app/src/main/java/com/sd/mapmultiengine/ui/TLayersActivity.kt
View file @
f8483b51
...
@@ -34,10 +34,10 @@ class TLayersActivity : AppCompatActivity() {
...
@@ -34,10 +34,10 @@ class TLayersActivity : AppCompatActivity() {
binding
.
rg
.
setOnCheckedChangeListener
{
group
,
checkedId
->
binding
.
rg
.
setOnCheckedChangeListener
{
group
,
checkedId
->
when
(
checkedId
)
{
when
(
checkedId
)
{
R
.
id
.
rb1
->
{
R
.
id
.
rb1
->
{
//普通
MSLayers
.
changeLayers
(
mapReadView
,
1
)
MSLayers
.
changeLayers
(
mapReadView
,
1
)
}
}
R
.
id
.
rb2
->
{
R
.
id
.
rb2
->
{
//卫星
MSLayers
.
changeLayers
(
mapReadView
,
2
)
MSLayers
.
changeLayers
(
mapReadView
,
2
)
}
}
}
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TLineActivity.kt
View file @
f8483b51
...
@@ -18,7 +18,9 @@ class TLineActivity : AppCompatActivity() {
...
@@ -18,7 +18,9 @@ class TLineActivity : AppCompatActivity() {
var
mapReadView
:
MapReadyView
?
=
null
var
mapReadView
:
MapReadyView
?
=
null
//覆盖物对象
private
var
mSOverlay
:
MSOverlay
?
=
null
private
var
mSOverlay
:
MSOverlay
?
=
null
//虚线对象
private
var
mSOverlay2
:
MSOverlay
?
=
null
private
var
mSOverlay2
:
MSOverlay
?
=
null
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
...
@@ -48,8 +50,8 @@ class TLineActivity : AppCompatActivity() {
...
@@ -48,8 +50,8 @@ class TLineActivity : AppCompatActivity() {
binding
.
bt2
.
setOnClickListener
{
binding
.
bt2
.
setOnClickListener
{
//画虚线
//画虚线
var
msLatLng
=
listOf
<
MSLatLng
>(
var
msLatLng
=
listOf
<
MSLatLng
>(
MSLatLng
(
39.999591
,
116.13597
2
),
MSLatLng
(
39.898123
,
116.05769
4
),
MSLatLng
(
39.999591
,
116.13597
3
),
MSLatLng
(
39.898123
,
116.05769
1
),
MSLatLng
(
39.900230
,
116.26506
1
),
MSLatLng
(
39.951192
,
116.14009
2
)
MSLatLng
(
39.900230
,
116.26506
2
),
MSLatLng
(
39.951192
,
116.14009
0
)
)
)
mSOverlay2
=
MSCanvesInMap
.
drawPolyline
(
mSOverlay2
=
MSCanvesInMap
.
drawPolyline
(
mapReadView
,
mapReadView
,
...
@@ -61,8 +63,10 @@ class TLineActivity : AppCompatActivity() {
...
@@ -61,8 +63,10 @@ class TLineActivity : AppCompatActivity() {
}
}
//删除线
//删除线
binding
.
bt3
.
setOnClickListener
{
binding
.
bt3
.
setOnClickListener
{
//删除实线
MSCanvesInMap
.
deletePolyline
(
mapReadView
,
mSOverlay
)
MSCanvesInMap
.
deletePolyline
(
mapReadView
,
mSOverlay
)
// MSCanvesInMap.deletePolyline(mapReadView,mSOverlay2)
//删除虚线
MSCanvesInMap
.
deletePolyline
(
mapReadView
,
mSOverlay2
)
}
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TMarkerActivity.kt
View file @
f8483b51
...
@@ -16,6 +16,7 @@ class TMarkerActivity : AppCompatActivity() {
...
@@ -16,6 +16,7 @@ class TMarkerActivity : AppCompatActivity() {
var
mapReadView
:
MapReadyView
?
=
null
var
mapReadView
:
MapReadyView
?
=
null
//marker点实例
var
msMark
:
MSMarker
?
=
null
var
msMark
:
MSMarker
?
=
null
...
@@ -28,14 +29,14 @@ class TMarkerActivity : AppCompatActivity() {
...
@@ -28,14 +29,14 @@ class TMarkerActivity : AppCompatActivity() {
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
this
@TMarkerActivity
.
mapReadView
=
mapReadyView
this
@TMarkerActivity
.
mapReadView
=
mapReadyView
//绘制Marker点 116.3985,39.9079
//绘制Marker点 116.3985,39.9079
msMark
=
msMark
=
MSCanvesInMap
.
drawMarket
(
mapReadView
,
39.907900
,
116.398500
)
MSCanvesInMap
.
drawMarket
(
this
@TMarkerActivity
,
mapReadView
,
39.907900
,
116.398500
)
// MSMethodAdv.setMapCenter(mapReadView, 39.977290, 116.337000)
// MSMethodAdv.setMapCenter(mapReadView, 39.977290, 116.337000)
}
}
})
})
binding
.
bt1
.
setOnClickListener
{
binding
.
bt1
.
setOnClickListener
{
MSCanvesInMap
.
deleteMarker
(
mapReadView
,
msMark
!!
)
//删除Marker点
MSCanvesInMap
.
deleteMarker
(
mapReadView
,
msMark
)
}
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TPoiSearchActivity.kt
View file @
f8483b51
...
@@ -53,16 +53,16 @@ class TPoiSearchActivity : AppCompatActivity() {
...
@@ -53,16 +53,16 @@ class TPoiSearchActivity : AppCompatActivity() {
//poi搜索
//poi搜索
fun
testPoiSearch
(
keyword
:
String
)
{
fun
testPoiSearch
(
keyword
:
String
)
{
//poi搜索
MSPoiSearch
.
startPoiSearch
(
MSPoiSearch
.
startPoiSearch
(
this
,
keyword
,
keyword
,
41.80196
,
41.80196
,
123.43326
,
123.43326
,
object
:
MSPoiSearch
.
OnMSPoiSearchLis
{
object
:
MSPoiSearch
.
OnMSPoiSearchLis
{
override
fun
onPoiLis
(
override
fun
onPoiLis
(
poiList
:
List
<
PoiSearchRes
>,
poiList
:
List
<
PoiSearchRes
>
resCode
:
Int
)
{
)
{
//自定义适配器展示列表
poiAdapter
.
submitList
(
poiList
)
poiAdapter
.
submitList
(
poiList
)
}
}
})
})
...
@@ -70,16 +70,15 @@ class TPoiSearchActivity : AppCompatActivity() {
...
@@ -70,16 +70,15 @@ class TPoiSearchActivity : AppCompatActivity() {
//poi 范围搜索
//poi 范围搜索
fun
testPoiSearchBound
(
keyword
:
String
)
{
fun
testPoiSearchBound
(
keyword
:
String
)
{
//poi 范围搜索
MSPoiSearch
.
startPoiSearchBound
(
MSPoiSearch
.
startPoiSearchBound
(
this
,
keyword
,
keyword
,
39.977290
,
39.977290
,
116.337000
,
116.337000
,
binding
.
et1
.
text
.
toString
().
toInt
(),
binding
.
et1
.
text
.
toString
().
toInt
(),
object
:
MSPoiSearch
.
OnMSPoiSearchLis
{
object
:
MSPoiSearch
.
OnMSPoiSearchLis
{
override
fun
onPoiLis
(
override
fun
onPoiLis
(
poiList
:
List
<
PoiSearchRes
>,
poiList
:
List
<
PoiSearchRes
>
resCode
:
Int
)
{
)
{
poiAdapter
.
submitList
(
poiList
)
poiAdapter
.
submitList
(
poiList
)
}
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TPolygonActivity.kt
View file @
f8483b51
...
@@ -10,13 +10,13 @@ import com.sd.maplibrary.core.MapReadyView
...
@@ -10,13 +10,13 @@ import com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.databinding.ActivityTpolygonBinding
import
com.sd.mapmultiengine.databinding.ActivityTpolygonBinding
/*****/
/**
绘制一个面
***/
class
TPolygonActivity
:
AppCompatActivity
()
{
class
TPolygonActivity
:
AppCompatActivity
()
{
private
lateinit
var
binding
:
ActivityTpolygonBinding
private
lateinit
var
binding
:
ActivityTpolygonBinding
var
mapReadView
:
MapReadyView
?
=
null
var
mapReadView
:
MapReadyView
?
=
null
//覆盖物对象
private
var
mSOverlay
:
MSOverlay
?
=
null
private
var
mSOverlay
:
MSOverlay
?
=
null
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
...
@@ -41,6 +41,7 @@ class TPolygonActivity : AppCompatActivity() {
...
@@ -41,6 +41,7 @@ class TPolygonActivity : AppCompatActivity() {
//删除面
//删除面
binding
.
bt1
.
setOnClickListener
{
binding
.
bt1
.
setOnClickListener
{
//删除面
MSCanvesInMap
.
deletePolygon
(
mapReadView
,
mSOverlay
)
MSCanvesInMap
.
deletePolygon
(
mapReadView
,
mSOverlay
)
}
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TReGeocodeActivity.kt
View file @
f8483b51
...
@@ -28,7 +28,7 @@ class TReGeocodeActivity : AppCompatActivity() {
...
@@ -28,7 +28,7 @@ class TReGeocodeActivity : AppCompatActivity() {
var
lat
=
binding
.
et2
.
text
.
toString
().
toDouble
()
var
lat
=
binding
.
et2
.
text
.
toString
().
toDouble
()
var
lng
=
binding
.
et1
.
text
.
toString
().
toDouble
()
var
lng
=
binding
.
et1
.
text
.
toString
().
toDouble
()
//逆地理编码
//逆地理编码
MSRegeoCode
.
geoCoder
(
this
,
lat
,
lng
,
object
:
MSRegeoCode
.
MSOnRegeo
{
MSRegeoCode
.
geoCoder
(
lat
,
lng
,
object
:
MSRegeoCode
.
MSOnRegeo
{
override
fun
onRegeo
(
regeocodeRes
:
RegeocodeRes
?)
{
override
fun
onRegeo
(
regeocodeRes
:
RegeocodeRes
?)
{
var
sb
=
StringBuilder
()
var
sb
=
StringBuilder
()
sb
.
append
(
regeocodeRes
?.
province
+
" "
)
sb
.
append
(
regeocodeRes
?.
province
+
" "
)
...
...
app/src/main/java/com/sd/mapmultiengine/utils/MyGeoTools.kt
View file @
f8483b51
...
@@ -8,19 +8,30 @@ object MyGeoTools {
...
@@ -8,19 +8,30 @@ object MyGeoTools {
/**
/**
* 计算我的位置到目标的直线距离
* 计算我的位置到目标的直线距离
* @param flat 起点纬度
* @param flng 起点经度
* @param lat 目标点纬度
* @param lng 目标点经度
* @return 距离信息对象,包含格式化后的距离数据
*/
*/
fun
cauMyLocDistance
(
lat
:
Double
,
lng
:
Double
):
DistanceBean
{
fun
cauMyLocDistance
(
flat
:
Double
,
flng
:
Double
,
lat
:
Double
,
lng
:
Double
):
DistanceBean
{
if
(
flng
==
0.0
||
flng
==
0.0
)
{
return
DistanceBean
(
"0"
,
""
)
}
var
mUtils
=
Utils
()
var
mUtils
=
Utils
()
var
results
=
FloatArray
(
1
)
var
results
=
FloatArray
(
1
)
// 使用Android Location API计算两点间直线距离
Location
.
distanceBetween
(
Location
.
distanceBetween
(
MyContants
.
CUR_LAT
,
flat
,
MyContants
.
CUR_LNG
,
flng
,
lat
,
lat
,
lng
,
lng
,
results
results
)
)
var
distanceInMeters
=
results
[
0
]
var
distanceInMeters
=
results
[
0
]
// 将距离转换为整数并格式化为距离对象
val
distanceBean
:
DistanceBean
=
mUtils
.
formatDistance
(
distanceInMeters
.
toInt
(),
false
)
val
distanceBean
:
DistanceBean
=
mUtils
.
formatDistance
(
distanceInMeters
.
toInt
(),
false
)
return
distanceBean
return
distanceBean
}
}
}
}
\ No newline at end of file
build.gradle.kts
View file @
f8483b51
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
buildscript
{
buildscript
{
dependencies
{
dependencies
{
classpath
(
"org.jetbrains.dokka:dokka-
gradle-plugin
:2.0.0"
)
classpath
(
"org.jetbrains.dokka:dokka-
base
:2.0.0"
)
}
}
}
}
...
...
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