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
b484b0d0
Commit
b484b0d0
authored
Aug 12, 2025
by
p x
Browse files
封装驾车导航
parent
3bac7e4c
Changes
36
Hide whitespace changes
Inline
Side-by-side
.idea/deploymentTargetSelector.xml
View file @
b484b0d0
...
...
@@ -5,9 +5,6 @@
<SelectionState
runConfigName=
"app"
>
<option
name=
"selectionMode"
value=
"DROPDOWN"
/>
</SelectionState>
<SelectionState
runConfigName=
"testAnnotation()"
>
<option
name=
"selectionMode"
value=
"DROPDOWN"
/>
</SelectionState>
</selectionStates>
</component>
</project>
\ No newline at end of file
app/build.gradle.kts
View file @
b484b0d0
...
...
@@ -42,7 +42,7 @@ android {
dependencies
{
//
implementation(fileTree(mapOf("dir" to "libs","include" to listOf("*.jar", "*.aar"))))
implementation
(
fileTree
(
mapOf
(
"dir"
to
"libs"
,
"include"
to
listOf
(
"*.jar"
,
"*.aar"
))))
implementation
(
libs
.
androidx
.
core
.
ktx
)
implementation
(
libs
.
androidx
.
appcompat
)
implementation
(
libs
.
material
)
...
...
app/src/main/AndroidManifest.xml
View file @
b484b0d0
...
...
@@ -12,6 +12,9 @@
android:supportsRtl=
"true"
android:theme=
"@style/Theme.MapMultiEngine"
tools:targetApi=
"31"
>
<activity
android:name=
".ui.CalculateDistanceActivity"
android:exported=
"false"
/>
<activity
android:name=
".ui.DisplayMapActivity"
android:exported=
"false"
/>
...
...
@@ -50,17 +53,6 @@
android:exported=
"false"
android:theme=
"@style/Theme.MapMultiEngine"
/>
<uses-library
android:name=
"org.apache.http.legacy"
android:required=
"false"
/>
<meta-data
android:name=
"com.minedata.minenavi.apikey"
android:value=
"57ac7a0d56494912a0c28e651fa4a40a"
/>
<meta-data
android:name=
"com.amap.api.v2.apikey"
android:value=
"3b7d009011b97dcc3815a93e8ddfcd77"
/>
<!-- 定位需要的服务 使用2.0的定位需要加上这个 -->
<service
android:name=
"com.amap.api.location.APSService"
/>
<activity
android:name=
".ui.TBaseActivity"
...
...
app/src/main/java/com/sd/mapmultiengine/MainActivity.kt
View file @
b484b0d0
...
...
@@ -14,6 +14,7 @@ import com.sd.maplibrary.MSDKInitializer
import
com.sd.maplibrary.OnSdkInitCb
import
com.sd.mapmultiengine.adapter.DemoListAdapter
import
com.sd.mapmultiengine.databinding.ActivityMainBinding
import
com.sd.mapmultiengine.ui.CalculateDistanceActivity
import
com.sd.mapmultiengine.ui.ChangeMapCenterAct
import
com.sd.mapmultiengine.ui.DisplayMapActivity
import
com.sd.mapmultiengine.ui.GestureDemo
...
...
@@ -53,9 +54,9 @@ class MainActivity : AppCompatActivity() {
DemoDetails
(
"绘制一个面"
,
TPolygonActivity
::
class
.
java
),
DemoDetails
(
"Poi检索(关键字,范围)"
,
TPoiSearchActivity
::
class
.
java
),
DemoDetails
(
"逆地理编码"
,
TReGeocodeActivity
::
class
.
java
),
DemoDetails
(
"两点间距离计算"
,
CalculateDistanceActivity
::
class
.
java
),
DemoDetails
(
"定位"
,
TGpsActivity
::
class
.
java
),
DemoDetails
(
"定位,获取我的位置"
,
TGpsActivity
::
class
.
java
),
DemoDetails
(
"驾车路线规划"
,
TDriveRouteActivity
::
class
.
java
),
)
...
...
@@ -107,7 +108,7 @@ class MainActivity : AppCompatActivity() {
}
fun
initMap
(
type
:
MAP_TYPE
=
MAP_TYPE
.
MINE
)
{
fun
initMap
(
type
:
MAP_TYPE
=
MAP_TYPE
.
AMAP
)
{
MSDKInitializer
.
initializeMap
(
this
,
type
,
object
:
OnSdkInitCb
{
override
fun
onInitSuccess
()
{
println
(
"--------onMapInitSuccess"
)
...
...
app/src/main/java/com/sd/mapmultiengine/TextMainActivity.kt
View file @
b484b0d0
...
...
@@ -67,6 +67,7 @@ class TextMainActivity : AppCompatActivity() {
//改变地图中心点
// MSMethodAdv.setMapCenter(mapReadView)
// MSMethodAdv.setMapCenter(mapReadView, 39.977290, 116.337000)
//改变缩放级别
MSMethodAdv
.
setMapZoom
(
mapReadView
,
10f
)
//绘制Marker点
...
...
app/src/main/java/com/sd/mapmultiengine/adapter/PoiAdapter.kt
View file @
b484b0d0
...
...
@@ -58,9 +58,9 @@ class PoiAdapter : BaseQuickAdapter<PoiSearchRes, PoiAdapter.PoiSH>() {
}
binding
.
poiDes
.
text
=
bean
.
snippet
binding
.
tvDistan
.
text
=
bean
.
distance
.
toString
()
//
val distanceBean: DistanceBean = MyGeoTools.cauMyLocDistance(bean.lat, bean.lng)
//
binding.tvDistan.text = "${distanceBean.distanceValue}${distanceBean.distanceUnit}"
//
binding.tvDistan.text=bean.distance.toString()
val
distanceBean
:
DistanceBean
=
MyGeoTools
.
cauMyLocDistance
(
bean
.
lat
,
bean
.
lng
)
binding
.
tvDistan
.
text
=
"${distanceBean.distanceValue}${distanceBean.distanceUnit}"
}
fun
setListener
()
{
...
...
app/src/main/java/com/sd/mapmultiengine/ui/CalculateDistanceActivity.kt
0 → 100644
View file @
b484b0d0
package
com.sd.mapmultiengine.ui
import
android.os.Bundle
import
android.widget.Toast
import
androidx.activity.enableEdgeToEdge
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.core.MSMapUtil
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.R
import
com.sd.mapmultiengine.databinding.ActivityCalculateDistanceBinding
import
com.sd.mapmultiengine.databinding.ActivityDisplayMapBinding
import
com.sd.mapmultiengine.ui.DisplayMapActivity
import
com.sd.mapmultiengine.utils.ToastHelper
/****两点间距离计算***/
class
CalculateDistanceActivity
:
AppCompatActivity
()
{
private
lateinit
var
binding
:
ActivityCalculateDistanceBinding
var
mapReadView
:
MapReadyView
?
=
null
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
binding
=
ActivityCalculateDistanceBinding
.
inflate
(
layoutInflater
)
setContentView
(
binding
.
root
)
binding
.
mapMultiView
.
addMapRenderCallback
(
object
:
OnMapReadyLis
{
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
this
@CalculateDistanceActivity
.
mapReadView
=
mapReadyView
}
})
//计算2点距离
binding
.
bt1
.
setOnClickListener
{
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
dis
=
MSMapUtil
.
calculateLineDistance
(
mapReadView
,
latLng1
,
latLng2
)
println
(
"----计算2点距离 = ${dis}"
)
ToastHelper
.
showShort
(
this
@CalculateDistanceActivity
,
"距离= $dis"
)
}
}
}
\ No newline at end of file
app/src/main/java/com/sd/mapmultiengine/ui/ChangeMapCenterAct.kt
View file @
b484b0d0
...
...
@@ -30,13 +30,17 @@ class ChangeMapCenterAct : AppCompatActivity() {
binding
.
bt1
.
setOnClickListener
{
//改变地图中心点
MSMethodAdv
.
setMapCenter
(
mapReadView
,
40.033121
,
116.307621
)
MSMethodAdv
.
setMapCenter
(
mapReadView
,
binding
.
et1
.
text
.
toString
().
toDouble
(),
binding
.
et2
.
text
.
toString
().
toDouble
()
)
}
//改变缩放级别
binding
.
bt2
.
setOnClickListener
{
var
zoom
=
binding
.
et
1
.
text
.
toString
().
toFloat
()
var
zoom
=
binding
.
et
3
.
text
.
toString
().
toFloat
()
MSMethodAdv
.
setMapZoom
(
mapReadView
,
zoom
)
}
// //设置地图边界范围
// binding.bt3.setOnClickListener {
// MSMethodAdv.setMapBoundArea(mapReadView)
// }
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/DisplayMapActivity.kt
View file @
b484b0d0
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.sd.maplibrary.bean.MSLatLng
import
com.sd.maplibrary.core.MSCanvesInMap
import
com.sd.maplibrary.core.MSMethodAdv
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.R
import
com.sd.mapmultiengine.databinding.ActivityDisplayMapBinding
import
com.sd.mapmultiengine.databinding.ActivityTpolygonBinding
import
com.sd.mapmultiengine.ui.TPolygonActivity
/***展示地图***/
class
DisplayMapActivity
:
AppCompatActivity
()
{
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TDriveRouteActivity.kt
View file @
b484b0d0
...
...
@@ -10,7 +10,6 @@ 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.map.RouteOptions
import
com.minedata.minenavi.mapdal.LatLng
import
com.minedata.minenavi.mapdal.PoiFavorite
import
com.minedata.minenavi.navi.ArrowInfo
...
...
@@ -32,21 +31,24 @@ import com.sd.maplibrary.MAP_TYPE
import
com.sd.maplibrary.MSDKInitializer
import
com.sd.maplibrary.bean.DriverRouteBean
import
com.sd.maplibrary.bean.MSLatLng
import
com.sd.maplibrary.bean.RouteOver
import
com.sd.maplibrary.core.MSRoutePlans
import
com.sd.maplibrary.core.MSRoutePlans.OnDriveRoute
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.databinding.ActivityTdriveRouteBinding
import
overlay.DrivingRouteOverlay
import
com.amap.api.services.core.LatLonPoint
as
ALatLonPoint
/******/
class
TDriveRouteActivity
:
AppCompatActivity
()
{
private
lateinit
var
binding
:
ActivityTdriveRouteBinding
var
mapReadView
:
MapReadyView
?
=
null
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
binding
=
ActivityTdriveRouteBinding
.
inflate
(
layoutInflater
)
...
...
@@ -55,24 +57,23 @@ class TDriveRouteActivity : AppCompatActivity() {
binding
.
mapMultiView
.
addMapRenderCallback
(
object
:
OnMapReadyLis
{
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
this
@TDriveRouteActivity
.
mapReadView
=
mapReadyView
}
})
//初始化并设置监听
MSRoutePlans
.
addPlanLis
(
this
,
onDriveRoute
)
//开始规划
binding
.
starplan
.
setOnClickListener
{
//
if (mapReadView == null)
//
return@setOnClickListener
if
(
mapReadView
==
null
)
return
@setOnClickListener
// 起点坐标 116.3215,39.8919
val
startPoint
=
MSLatLng
(
39.806898
,
116.490682
)
//// 终点坐标116.3793,39.8643
val
endPoint
=
MSLatLng
(
39.864311
,
116.379311
)
//// 终点名称
val
endName
=
"沈阳火车站"
MSRoutePlans
.
drivingPathPlanning
(
startPoint
,
endPoint
,
endName
)
//开始路径规划
MSRoutePlans
.
drivingPathPlanning
(
this
,
startPoint
,
endPoint
,
endName
)
// testDriverPlan()
// testDriverPlanaMAP()
...
...
@@ -80,41 +81,31 @@ class TDriveRouteActivity : AppCompatActivity() {
}
//算路结果回调
private
var
onDriveRoute
=
object
:
OnDriveRoute
{
override
fun
onDriverRoute
(
driverRouteBean
:
DriverRouteBean
)
{
when
(
MSDKInitializer
.
getMapType
())
{
MAP_TYPE
.
MINE
->
{
// mapReadView?.mMineMap?.removeOverlay(mRoute)
var
routeBase
=
driverRouteBean
.
routeCollection
?.
routes
?.
get
(
0
)
val
options
=
RouteOptions
()
.
routeBase
(
routeBase
)
.
colorType
(
Route
.
RouteColorType
.
enrouteTi
)
// .colorType(Route.RouteColorType.none)
.
styleClass
(
"DEFAULT"
)
var
mRoute
=
mapReadView
?.
mMineMap
?.
addRoute
(
options
)
setRouteOverlayStyle
(
mRoute
,
false
)
MAP_TYPE
.
MINE
->
{
//开始绘制
//删除已存在的路径图层
// if (RouteOver.instance.route != null) {
// mapReadView?.mMineMap?.removeOverlay(RouteOver.instance.route)
// }
MSRoutePlans
.
drawPlanPath
(
mapReadView
,
driverRouteBean
,
this
@TDriveRouteActivity
)
}
MAP_TYPE
.
AMAP
->
{
mapReadView
?.
aMap
?.
clear
()
var
drivePath
=
driverRouteBean
.
driveRouteResult
?.
paths
?.
get
(
0
);
if
(
drivePath
==
null
)
{
return
}
var
mDriveRouteResult
=
driverRouteBean
.
driveRouteResult
var
drivingRouteOverlay
=
DrivingRouteOverlay
(
this
@TDriveRouteActivity
,
mapReadView
?.
aMap
!!
,
drivePath
,
mDriveRouteResult
?.
getStartPos
(),
mDriveRouteResult
?.
getTargetPos
(),
null
// 清理地图上的所有覆盖物
// mapReadView?.aMap?.clear()
MSRoutePlans
.
drawPlanPath
(
mapReadView
,
driverRouteBean
,
this
@TDriveRouteActivity
)
drivingRouteOverlay
.
setNodeIconVisibility
(
false
)
//设置节点marker是否显示
drivingRouteOverlay
.
setIsColorfulline
(
true
)
//是否用颜色展示交通拥堵情况,默认true
drivingRouteOverlay
.
removeFromMap
()
drivingRouteOverlay
.
addToMap
()
drivingRouteOverlay
.
zoomToSpan
()
}
}
}
...
...
@@ -198,10 +189,10 @@ class TDriveRouteActivity : AppCompatActivity() {
}
override
fun
onNewRouteTaken
()
{
override
fun
onNewRouteTaken
(
data
:
RouteBase
?)
{
}
override
fun
onRouteRemoved
()
{
}
...
...
@@ -238,22 +229,27 @@ class TDriveRouteActivity : AppCompatActivity() {
}
override
fun
onNaviBegin
()
{
override
fun
onNaviBegin
(
data
:
RouteBase
?)
{
}
override
fun
onNaviEnded
()
{
}
override
fun
onSimNaviBegin
()
{
override
fun
onSimNaviBegin
(
data
:
RouteBase
?)
{
}
override
fun
onSimNaviPaused
(
data
:
RouteBase
?)
{
}
override
fun
onSimNaviEnd
()
{
override
fun
onSimNaviResumed
(
data
:
RouteBase
?)
{
}
override
fun
onSimNaviEnd
(
data
:
RouteBase
?)
{
}
override
fun
onTracking
(
p0
:
NaviSessionData
?)
{
}
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TGpsActivity.kt
View file @
b484b0d0
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.sd.maplibrary.bean.MSLocBean
import
com.sd.maplibrary.core.MSCanvesInMap
import
com.sd.maplibrary.core.MSGpsLocation
import
com.sd.mapmultiengine.R
import
com.sd.maplibrary.core.MSMarker
import
com.sd.maplibrary.core.MSMethodAdv
import
com.sd.maplibrary.core.MapReadyView
import
com.sd.maplibrary.ui.MapMultiView.OnMapReadyLis
import
com.sd.mapmultiengine.databinding.ActivityTgpsBinding
import
com.sd.mapmultiengine.databinding.ActivityTreGeocodeBinding
import
com.sd.mapmultiengine.ui.TLayersActivity
import
com.sd.mapmultiengine.ui.TMarkerActivity
/***定位***/
/***定位
,展示我的位置
***/
class
TGpsActivity
:
AppCompatActivity
()
{
private
lateinit
var
binding
:
ActivityTgpsBinding
var
mapReadView
:
MapReadyView
?
=
null
var
msMark
:
MSMarker
?
=
null
var
lat
=
0.0
var
lng
=
0.0
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
binding
=
ActivityTgpsBinding
.
inflate
(
layoutInflater
)
setContentView
(
binding
.
root
)
binding
.
mapMultiView
.
addMapRenderCallback
(
object
:
OnMapReadyLis
{
override
fun
onMapReady
(
mapReadyView
:
MapReadyView
)
{
this
@TGpsActivity
.
mapReadView
=
mapReadyView
//绘制Marker点 116.3985,39.9079
// MSCanvesInMap.dMarket(this@TLineActivity, mapReadView, 39.907900, 116.398500)
// MSMethodAdv.setMapCenter(mapReadView, 39.999391, 116.135972)
}
})
//初始化
MSGpsLocation
.
initLoc
(
this
)
//设置回调
MSGpsLocation
.
setOnMsGpsLoc
(
object
:
MSGpsLocation
.
OnMsGpsLoc
{
override
fun
onMsGpsLoc
(
mSLocBean
:
MSLocBean
)
{
println
(
"---------mSLocBean = ${mSLocBean}"
)
lat
=
mSLocBean
.
lat
lng
=
mSLocBean
.
lng
var
sb
=
StringBuilder
()
sb
.
run
{
append
(
"纬度:${mSLocBean.lat} \n"
)
...
...
@@ -43,6 +63,12 @@ class TGpsActivity : AppCompatActivity() {
binding
.
bt
.
setOnClickListener
{
MSGpsLocation
.
starLoc
()
}
//我的位置
binding
.
bt1
.
setOnClickListener
{
msMark
=
MSCanvesInMap
.
drawMarket
(
this
,
mapReadView
,
lat
,
lng
)
MSMethodAdv
.
setMapCenter
(
mapReadView
,
lat
,
lng
)
}
}
override
fun
onStop
()
{
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TPoiSearchActivity.kt
View file @
b484b0d0
...
...
@@ -75,7 +75,7 @@ class TPoiSearchActivity : AppCompatActivity() {
keyword
,
39.977290
,
116.337000
,
25000
,
binding
.
et1
.
text
.
toString
().
toInt
()
,
object
:
MSPoiSearch
.
OnMSPoiSearchLis
{
override
fun
onPoiLis
(
poiList
:
List
<
PoiSearchRes
>,
...
...
app/src/main/java/com/sd/mapmultiengine/ui/TPolygonActivity.kt
View file @
b484b0d0
...
...
@@ -35,7 +35,7 @@ class TPolygonActivity : AppCompatActivity() {
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
)
mSOverlay
=
MSCanvesInMap
.
drawPolygon
(
mapReadView
,
mspLatLng
,
true
)
}
})
...
...
app/src/main/res/layout/activity_calculate_distance.xml
0 → 100644
View file @
b484b0d0
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"一个点"
/>
<EditText
android:id=
"@+id/et1"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:inputType=
"number"
android:text=
"39.897424"
/>
<EditText
android:id=
"@+id/et2"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:inputType=
"number"
android:text=
"116.356508"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"又一个点"
/>
<EditText
android:id=
"@+id/et3"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:inputType=
"number"
android:text=
"39.898424"
/>
<EditText
android:id=
"@+id/et4"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:inputType=
"number"
android:text=
"116.356508"
/>
</LinearLayout>
<Button
android:id=
"@+id/bt1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"计算"
/>
<com.sd.maplibrary.ui.MapMultiView
android:id=
"@+id/mapMultiView"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
app/src/main/res/layout/activity_change_map_center.xml
View file @
b484b0d0
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
...
...
@@ -10,33 +8,58 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<androidx.appcompat.widget.AppCompatEditText
android:id=
"@+id/et1"
android:layout_width=
"120dp"
android:layout_height=
"wrap_content"
android:inputType=
"number"
android:text=
"40.033121"
/>
<androidx.appcompat.widget.AppCompatEditText
android:id=
"@+id/et2"
android:layout_width=
"120dp"
android:layout_height=
"wrap_content"
android:inputType=
"number"
android:text=
"116.307621"
/>
<Button
android:id=
"@+id/bt1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"改变中心点"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<EditText
android:id=
"@+id/et
1
"
android:id=
"@+id/et
3
"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"20dp"
android:gravity=
"center"
android:hint=
"输入数字"
android:hint=
"输入数字
级别
"
android:inputType=
"number"
/>
<Button
android:id=
"@+id/bt2"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"改
变
缩放级别"
/>
android:text=
"改缩放级别"
/>
<!-- <Button-->
<!-- android:id="@+id/bt3"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:text="设置地图边界范围" />-->
</LinearLayout>
<com.sd.maplibrary.ui.MapMultiView
android:id=
"@+id/mapMultiView"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
app:map_type=
"MINE"
/>
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
app/src/main/res/layout/activity_tdrive_route.xml
View file @
b484b0d0
...
...
@@ -6,10 +6,15 @@
android:orientation=
"vertical"
tools:context=
".ui.TDriveRouteActivity"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"北京南站 - 沈阳火车站"
/>
<Button
android:id=
"@+id/starplan"
android:layout_width=
"
match_par
ent"
android:layout_width=
"
wrap_cont
ent"
android:layout_height=
"wrap_content"
android:text=
"开始规划"
/>
...
...
app/src/main/res/layout/activity_tgps.xml
View file @
b484b0d0
...
...
@@ -11,9 +11,22 @@
android:text=
"开始定位"
/>
<Button
android:id=
"@+id/bt1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"定位到我的位置"
/>
<TextView
android:id=
"@+id/tv"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
android:layout_height=
"wrap_content"
/>
<com.sd.maplibrary.ui.MapMultiView
android:id=
"@+id/mapMultiView"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
app/src/main/res/layout/activity_tpoi_search.xml
View file @
b484b0d0
...
...
@@ -15,18 +15,41 @@
android:layout_height=
"wrap_content"
android:text=
"北京大学"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"当前位置41.80196, 123.43326"
/>
<Button
android:id=
"@+id/bt"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"关键字搜索"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"当前位置 39.977290 116.337000"
/>
<EditText
android:id=
"@+id/et1"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"5000"
/>
<Button
android:id=
"@+id/bt2"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"范围搜索"
/>
android:text=
"范围搜索(米)"
/>
</LinearLayout>
...
...
@@ -49,7 +72,6 @@
app:layoutManager=
"androidx.recyclerview.widget.LinearLayoutManager"
/>
</RelativeLayout>
</LinearLayout>
\ No newline at end of file
maplibrary/build.gradle.kts
View file @
b484b0d0
...
...
@@ -4,6 +4,7 @@ plugins {
id
(
"kotlin-kapt"
)
}
android
{
namespace
=
"com.sd.maplibrary"
compileSdk
=
35
...
...
@@ -53,6 +54,9 @@ dependencies {
androidTestImplementation
(
libs
.
androidx
.
junit
)
androidTestImplementation
(
libs
.
androidx
.
espresso
.
core
)
//高德
// implementation("com.amap.api:navi-3dmap:latest.integration")
// implementation("com.amap.api:search:latest.integration")
//网络
implementation
(
"com.squareup.okhttp3:okhttp:3.12.0"
)
implementation
(
"com.google.code.gson:gson:2.8.6"
)
...
...
maplibrary/libs/AMap3DMap_10.1.201_AMapNavi_10.1.201_AMapSearch_9.7.4_AMapLocation_6.4.9_20250326.jar
0 → 100644
View file @
b484b0d0
File added
Prev
1
2
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