Commit 42135beb authored by p x's avatar p x
Browse files

迁移基础功能

parent 6b587c56
......@@ -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点
MSCanvesInMap.drawMarket(mapReadView, 39.977290, 116.337000)
// MSDrawInMap.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)
)
MSCanvesInMap.drawPolyline(mapReadView, msLatLng)
// MSDrawInMap.drawPolyline(mapReadView, msLatLng)
//绘制一个圆形
MSCanvesInMap.drawCircle(mapReadView, 39.997290, 116.337000, 2000f)
// MSDrawInMap.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)
)
MSCanvesInMap.drawPolygon(mapReadView, mspLatLng)
// MSDrawInMap.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()
}
......
......@@ -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
......
......@@ -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 {
......
......@@ -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)
}
......
......@@ -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()
}
......
......@@ -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: MapDempVm by viewModels()
val mapDempVm: MapDemoVm 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)
}
})
......
......@@ -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 {
//删除圆形
MSCanvesInMap.deleteCircle(mapReadView, mSOverlay)
MSDrawInMap.deleteCircle(mapReadView, mSOverlay)
}
}
......
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.MapFactory
import com.sd.maplibrary.factorys.MapCoreApi
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,
......
......@@ -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
......@@ -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.MapFactory
import com.sd.maplibrary.factorys.MapCoreApi
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)
}
}
......
......@@ -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 {
//删除实线
MSCanvesInMap.deletePolyline(mapReadView,mSOverlay)
MSDrawInMap.deletePolyline(mapReadView,mSOverlay)
//删除虚线
MSCanvesInMap.deletePolyline(mapReadView,mSOverlay2)
MSDrawInMap.deletePolyline(mapReadView,mSOverlay2)
}
......
......@@ -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点
MSCanvesInMap.deleteMarker(mapReadView, msMark)
MSDrawInMap.deleteMarker(mapReadView, msMark)
}
......
......@@ -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>
) {
......
......@@ -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 {
//删除面
MSCanvesInMap.deletePolygon(mapReadView, mSOverlay)
MSDrawInMap.deletePolygon(mapReadView, mSOverlay)
}
}
......
......@@ -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
......
......@@ -2,5 +2,5 @@ package com.sd.mapmultiengine.viewmodels
import androidx.lifecycle.ViewModel
class MapDempVm: ViewModel() {
class MapDemoVm: ViewModel() {
}
\ No newline at end of file
<?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
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
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
......@@ -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
//初始化高德 导航 对象
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment