Commit ba576672 authored by p x's avatar p x
Browse files

修改包结构

parent 31fad494
...@@ -9,10 +9,10 @@ import com.minedata.minenavi.map.PolylineOptions ...@@ -9,10 +9,10 @@ import com.minedata.minenavi.map.PolylineOptions
import com.minedata.minenavi.mapdal.LatLng import com.minedata.minenavi.mapdal.LatLng
import com.msmap.api.R import com.msmap.api.R
import com.sd.api.UserCtx import com.sd.api.UserCtx
import com.sd.api.bean.MSLatLng import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.core.MapReadyView import com.sd.api.core.MapReadyView
import com.sd.api.core.basic.MSMarker import com.sd.api.maps.cdata.MSMarker
import com.sd.api.core.basic.MSOverlay import com.sd.api.maps.cdata.MSOverlay
/** /**
...@@ -54,14 +54,16 @@ object MineDrawInMap { ...@@ -54,14 +54,16 @@ object MineDrawInMap {
* @param msLatLng 坐标点集合 * @param msLatLng 坐标点集合
* @param width 线宽度,默认为10f * @param width 线宽度,默认为10f
* @param fcolor 线颜色,默认为"#FF00FF"对应的int值 * @param fcolor 线颜色,默认为"#FF00FF"对应的int值
* @param outlineColor
* @param isDotted 是否为虚线,默认为false * @param isDotted 是否为虚线,默认为false
* @return MSOverlay 覆盖物对象 * @return MSOverlay 覆盖物对象
*/ */
fun drawPolyline( fun drawPolyline(
mapReadView: MapReadyView?, mapReadView: MapReadyView?,
msLatLng: List<MSLatLng>, msLatLng: List<MSLatLng>,
width: Float = 10f, fcolor: Int,
fcolor: Int = "#FF00FF".toColorInt(), outlineColor: Int,
width: Float,
isDotted: Boolean = false isDotted: Boolean = false
): MSOverlay { ): MSOverlay {
// 绘制自定义地图的线 // 绘制自定义地图的线
...@@ -73,6 +75,7 @@ object MineDrawInMap { ...@@ -73,6 +75,7 @@ object MineDrawInMap {
.addAll(latLngs) .addAll(latLngs)
.width(width) .width(width)
.color(fcolor) .color(fcolor)
.outlineColor(outlineColor)
.setDottedLine(isDotted) .setDottedLine(isDotted)
var polyline = mapReadView?.mMineMap?.addPolyline(options) var polyline = mapReadView?.mMineMap?.addPolyline(options)
MSOverlay.polyline = polyline MSOverlay.polyline = polyline
......
...@@ -19,7 +19,7 @@ import com.minedata.minenavi.navi.SmoothNaviData ...@@ -19,7 +19,7 @@ import com.minedata.minenavi.navi.SmoothNaviData
import com.minedata.minenavi.navi.TmcSections import com.minedata.minenavi.navi.TmcSections
import com.minedata.minenavi.util.Tools import com.minedata.minenavi.util.Tools
import com.sd.api.UserCtx import com.sd.api.UserCtx
import com.sd.api.bean.MSLatLng import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi import com.sd.api.bean.WayPoi
import com.sd.api.core.MapReadyView import com.sd.api.core.MapReadyView
import com.sd.api.intfaces.MyMineNaviListener import com.sd.api.intfaces.MyMineNaviListener
......
package com.sd.api.core.basic.mine package com.sd.api.core.basic.mine
import android.os.Parcelable import android.os.Parcelable
import com.sd.api.bean.MSLatLng import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi import com.sd.api.bean.WayPoi
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
......
...@@ -14,7 +14,7 @@ import com.minedata.minenavi.navi.RoutePlan ...@@ -14,7 +14,7 @@ import com.minedata.minenavi.navi.RoutePlan
import com.minedata.minenavi.navi.RouterErrorInfo import com.minedata.minenavi.navi.RouterErrorInfo
import com.minedata.minenavi.util.Tools import com.minedata.minenavi.util.Tools
import com.sd.api.bean.DriverRouteBean import com.sd.api.bean.DriverRouteBean
import com.sd.api.bean.MSLatLng import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi import com.sd.api.bean.WayPoi
import com.sd.api.core.MapReadyView import com.sd.api.core.MapReadyView
import com.sd.api.core.basic.OnDriveRoute import com.sd.api.core.basic.OnDriveRoute
......
package com.sd.api.factorys package com.sd.api.factorys
import com.sd.api.bean.MSLatLng import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi import com.sd.api.bean.WayPoi
import com.sd.api.core.MapReadyView import com.sd.api.core.MapReadyView
import com.sd.api.core.basic.MSMarker import com.sd.api.maps.cdata.MSMarker
import com.sd.api.core.basic.MSOverlay import com.sd.api.maps.cdata.MSOverlay
import com.sd.api.core.basic.OnDriveRoute import com.sd.api.core.basic.OnDriveRoute
import com.sd.api.core.basic.OnMSPoiSearchLis import com.sd.api.maps.inters.OnMSPoiSearchLis
import com.sd.api.core.basic.OnMsGpsLoc import com.sd.api.core.basic.OnMsGpsLoc
import com.sd.api.intfaces.OnNaviPresenterListener import com.sd.api.intfaces.OnNaviPresenterListener
...@@ -52,11 +52,11 @@ abstract class AbsMapCore : IMapBasic, IMapBusin { ...@@ -52,11 +52,11 @@ abstract class AbsMapCore : IMapBasic, IMapBusin {
override fun drawPolyline( override fun drawPolyline(
mapReadView: MapReadyView?, mapReadView: MapReadyView?,
msLatLng: List<MSLatLng>, msLatLng: List<MSLatLng>,
width: Float,
fcolor: Int, fcolor: Int,
width: Float,
isDotted: Boolean isDotted: Boolean
): MSOverlay { ): MSOverlay {
return iMapBasic.drawPolyline(mapReadView, msLatLng, width, fcolor, isDotted) return iMapBasic.drawPolyline(mapReadView, msLatLng, fcolor,width,isDotted)
} }
override fun drawCircle( override fun drawCircle(
......
package com.sd.api.factorys package com.sd.api.factorys
import com.sd.api.bean.MSLatLng import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi import com.sd.api.bean.WayPoi
import com.sd.api.core.MapReadyView import com.sd.api.core.MapReadyView
import com.sd.api.core.basic.MSMarker import com.sd.api.maps.cdata.MSMarker
import com.sd.api.core.basic.MSOverlay import com.sd.api.maps.cdata.MSOverlay
import com.sd.api.core.basic.OnDriveRoute import com.sd.api.core.basic.OnDriveRoute
import com.sd.api.core.basic.OnMSPoiSearchLis import com.sd.api.maps.inters.OnMSPoiSearchLis
import com.sd.api.core.basic.OnMsGpsLoc import com.sd.api.core.basic.OnMsGpsLoc
import com.sd.api.core.basic.amap.AmapDrawInMap import com.sd.api.maps.amap.AmapDrawInMap
import com.sd.api.core.basic.amap.AmapGestures import com.sd.api.maps.amap.AmapGestures
import com.sd.api.core.basic.amap.AmapGpsLocation import com.sd.api.core.basic.amap.AmapGpsLocation
import com.sd.api.core.basic.amap.AmapLocationStyle import com.sd.api.maps.amap.AmapLocationStyle
import com.sd.api.core.basic.amap.AmapMethodAdv import com.sd.api.maps.amap.AmapMethodAdv
import com.sd.api.core.basic.amap.AmapNai import com.sd.api.core.basic.amap.AmapNai
import com.sd.api.core.basic.amap.AmapPoiSearch import com.sd.api.maps.amap.AmapPoiSearch
import com.sd.api.core.basic.amap.AmapRoutePlans import com.sd.api.core.basic.amap.AmapRoutePlans
import com.sd.api.core.basic.amap.AmapToggleLayers import com.sd.api.core.basic.amap.AmapToggleLayers
import com.sd.api.intfaces.OnNaviPresenterListener import com.sd.api.intfaces.OnNaviPresenterListener
...@@ -72,11 +72,11 @@ class AmapBasic : IMapBasic { ...@@ -72,11 +72,11 @@ class AmapBasic : IMapBasic {
override fun drawPolyline( override fun drawPolyline(
mapReadView: MapReadyView?, mapReadView: MapReadyView?,
msLatLng: List<MSLatLng>, msLatLng: List<MSLatLng>,
width: Float,
fcolor: Int, fcolor: Int,
width: Float,
isDotted: Boolean isDotted: Boolean
): MSOverlay { ): MSOverlay {
return AmapDrawInMap.drawPolyline(mapReadView, msLatLng, width, fcolor, isDotted) return AmapDrawInMap.drawPolyline(mapReadView, msLatLng,fcolor, width,isDotted)
} }
override fun drawCircle( override fun drawCircle(
......
package com.sd.api.factorys package com.sd.api.factorys
import androidx.core.graphics.toColorInt import androidx.core.graphics.toColorInt
import com.sd.api.bean.MSLatLng import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi import com.sd.api.bean.WayPoi
import com.sd.api.core.MapReadyView import com.sd.api.core.MapReadyView
import com.sd.api.core.basic.MSLocStyle import com.sd.api.maps.MSLocStyle
import com.sd.api.core.basic.MSMarker import com.sd.api.maps.cdata.MSMarker
import com.sd.api.core.basic.MSOverlay import com.sd.api.maps.cdata.MSOverlay
import com.sd.api.core.basic.OnDriveRoute import com.sd.api.core.basic.OnDriveRoute
import com.sd.api.core.basic.OnMSPoiSearchLis import com.sd.api.maps.inters.OnMSPoiSearchLis
import com.sd.api.core.basic.OnMsGpsLoc import com.sd.api.core.basic.OnMsGpsLoc
import com.sd.api.intfaces.OnNaviPresenterListener import com.sd.api.intfaces.OnNaviPresenterListener
...@@ -49,7 +49,7 @@ interface IMapBasic { ...@@ -49,7 +49,7 @@ interface IMapBasic {
* */ * */
fun setTiltGesturesEnabled(mapReadView: MapReadyView?, enable: Boolean) fun setTiltGesturesEnabled(mapReadView: MapReadyView?, enable: Boolean)
/**** /**
* 改变地图中心点 * 改变地图中心点
* @param mapReadView 地图准备就绪的视图对象 * @param mapReadView 地图准备就绪的视图对象
* @param lat 纬度 * @param lat 纬度
...@@ -94,8 +94,8 @@ interface IMapBasic { ...@@ -94,8 +94,8 @@ interface IMapBasic {
fun drawPolyline( fun drawPolyline(
mapReadView: MapReadyView?, mapReadView: MapReadyView?,
msLatLng: List<MSLatLng>, msLatLng: List<MSLatLng>,
width: Float = 10f,
fcolor: Int, fcolor: Int,
width: Float,
isDotted: Boolean = false isDotted: Boolean = false
): MSOverlay ): MSOverlay
......
package com.sd.api.factorys package com.sd.api.factorys
import com.sd.api.bean.MSLatLng import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.bean.WayPoi import com.sd.api.bean.WayPoi
import com.sd.api.core.MapReadyView import com.sd.api.core.MapReadyView
import com.sd.api.core.basic.MSMarker import com.sd.api.maps.cdata.MSMarker
import com.sd.api.core.basic.MSOverlay import com.sd.api.maps.cdata.MSOverlay
import com.sd.api.core.basic.OnDriveRoute import com.sd.api.core.basic.OnDriveRoute
import com.sd.api.core.basic.OnMSPoiSearchLis import com.sd.api.maps.inters.OnMSPoiSearchLis
import com.sd.api.core.basic.OnMsGpsLoc import com.sd.api.core.basic.OnMsGpsLoc
import com.sd.api.core.basic.mine.MimeGestures import com.sd.api.core.basic.mine.MimeGestures
import com.sd.api.core.basic.mine.MineDrawInMap import com.sd.api.core.basic.mine.MineDrawInMap
import com.sd.api.core.basic.mine.MineGpsLocation import com.sd.api.core.basic.mine.MineGpsLocation
import com.sd.api.core.basic.mine.MineLocationStyle import com.sd.api.maps.mine.MineLocationStyle
import com.sd.api.core.basic.mine.MineMethodAdv import com.sd.api.maps.mine.MineMethodAdv
import com.sd.api.core.basic.mine.MineNai import com.sd.api.core.basic.mine.MineNai
import com.sd.api.core.basic.mine.MinePoiSearch import com.sd.api.maps.mine.MinePoiSearch
import com.sd.api.core.basic.mine.MineRoutePlans import com.sd.api.core.basic.mine.MineRoutePlans
import com.sd.api.core.basic.mine.MineToggleLayers import com.sd.api.core.basic.mine.MineToggleLayers
import com.sd.api.intfaces.OnNaviPresenterListener import com.sd.api.intfaces.OnNaviPresenterListener
...@@ -71,11 +71,11 @@ class MineBasic : IMapBasic { ...@@ -71,11 +71,11 @@ class MineBasic : IMapBasic {
override fun drawPolyline( override fun drawPolyline(
mapReadView: MapReadyView?, mapReadView: MapReadyView?,
msLatLng: List<MSLatLng>, msLatLng: List<MSLatLng>,
width: Float,
fcolor: Int, fcolor: Int,
width: Float,
isDotted: Boolean isDotted: Boolean
): MSOverlay { ): MSOverlay {
return MineDrawInMap.drawPolyline(mapReadView, msLatLng, width, fcolor, isDotted) return MineDrawInMap.drawPolyline(mapReadView, msLatLng, fcolor, 0,width, isDotted)
} }
override fun drawCircle( override fun drawCircle(
...@@ -177,10 +177,10 @@ class MineBasic : IMapBasic { ...@@ -177,10 +177,10 @@ class MineBasic : IMapBasic {
endPoint: MSLatLng, endPoint: MSLatLng,
endName: String, endName: String,
ways: List<WayPoi>, ways: List<WayPoi>,
onNaviPresenterListener:OnNaviPresenterListener? onNaviPresenterListener: OnNaviPresenterListener?
) { ) {
if (navType == 1) {//用户自己实现接口 if (navType == 1) {//用户自己实现接口
MineNai.startNavi(mapReadView,onNaviPresenterListener) MineNai.startNavi(mapReadView, onNaviPresenterListener)
} else if (navType == 2) {//直接到写好的页面 } else if (navType == 2) {//直接到写好的页面
MineNai.startNaviDirect(starPoint, startName, endPoint, endName, ways) MineNai.startNaviDirect(starPoint, startName, endPoint, endName, ways)
} }
......
package com.sd.api.core.basic package com.sd.api.maps
import com.sd.api.MAP_TYPE import com.sd.api.MAP_TYPE
import com.sd.api.MSDKInitializer import com.sd.api.MSDKInitializer
import com.sd.api.core.MapReadyView import com.sd.api.core.MapReadyView
import com.sd.api.maps.cdata.MSOverlay
import com.sd.api.maps.cdata.MSMarker
/** /**
* 地图上绘制 * 删除地图上绘制
*/ */
object MSDrawInMap { object DelDrawInMap {
/** /**
......
package com.sd.api.maps
import androidx.core.graphics.toColorInt
import com.sd.api.MAP_TYPE
import com.sd.api.MSDKInitializer
import com.sd.api.core.MapReadyView
import com.sd.api.maps.cdata.MSOverlay
import com.sd.api.core.basic.mine.MineDrawInMap
import com.sd.api.maps.amap.AmapDrawInMap
import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.maps.cdata.MSMarker
/**
* 绘制点、线、面
*
* @constructor Create empty Marker pro
*/
object DrawInMap {
/**
* 绘制 marker 点
* @param mapReadView 地图准备就绪的视图对象
* @param lat 纬度坐标
* @param lng 经度坐标
* @return MSMarker 标记点对象
*/
fun drawMarket(
mapReadView: MapReadyView?,
lat: Double,
lng: Double
): MSMarker {
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
return MineDrawInMap.drawMarket(mapReadView, lat, lng)
}
MAP_TYPE.AMAP -> {
return AmapDrawInMap.drawMarket(mapReadView, lat, lng)
}
}
}
/**
* 绘制线
* @param mapReadView 地图加载返回
* @param msLatLng 坐标点集合
* @param fcolor 线颜色
* @param outlineColor 描边颜色
* @param width 线宽度,默认为10f
* @param isDotted 是否为虚线,默认为false
* @return MSOverlay 覆盖物对象
*/
fun drawPolyline(
mapReadView: MapReadyView?,
msLatLng: List<MSLatLng>,
fcolor: Int = "#000000".toColorInt(),
outlineColor: Int="#00000000".toColorInt(),
width: Float = 10f,
isDotted: Boolean = false
): MSOverlay {
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
return MineDrawInMap.drawPolyline(mapReadView, msLatLng, fcolor,outlineColor, width, isDotted)
}
MAP_TYPE.AMAP -> {
return AmapDrawInMap.drawPolyline(mapReadView, msLatLng, fcolor, width, isDotted)
}
}
}
/**绘制圆形
* @param mapReadView 地图准备就绪视图对象
* @param lat 维度
* @param lng 经度
* @param radius 半径(米)
* @param fillColor 填充颜色,默认为半透明红色
* @param strokeColor 边框颜色,默认为半透明蓝色
* @param strokeWidth 边框宽度,默认为15f
* @return MSOverlay 返回覆盖物对象
*/
fun drawCircle(
mapReadView: MapReadyView?,
lat: Double,
lng: Double,
radius: Float,
fillColor: Int = "#50FF0000".toColorInt(),
strokeColor: Int = "#00000000".toColorInt(),
strokeWidth: Float = 15f
): MSOverlay{
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
return MineDrawInMap.drawCircle(mapReadView, lat, lng, radius, fillColor, strokeColor, strokeWidth)
}
MAP_TYPE.AMAP -> {
return AmapDrawInMap.drawCircle(mapReadView, lat, lng, radius, fillColor, strokeColor, strokeWidth)
}
}
}
/***
* 绘制多边形
* @param msLatLng 添加多边形顶点坐标集合
* @param dLine 是否虚线
* @param fillColor 填充颜色
* @param strokeWidth 边框宽度
* @param strokeColor 边框颜色
* ****/
fun drawPolygon(
mapReadView: MapReadyView?,
msLatLng: List<MSLatLng>,
dLine: Boolean = false,
fillColor: Int = "#10FF00FF".toColorInt(),
strokeWidth: Float = 5f,
strokeColor: Int = "#50FF00FF".toColorInt()
): MSOverlay{
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
return MineDrawInMap.drawPolygon(mapReadView, msLatLng, dLine, fillColor, strokeWidth, strokeColor)
}
MAP_TYPE.AMAP -> {
return AmapDrawInMap.drawPolygon(mapReadView, msLatLng, dLine, fillColor, strokeWidth, strokeColor)
}
}
}
}
\ No newline at end of file
package com.sd.api.maps
import com.sd.api.MAP_TYPE
import com.sd.api.MSDKInitializer
import com.sd.api.core.MapReadyView
import com.sd.api.maps.amap.AmapGestures
import com.sd.api.maps.mine.MineGestures
/**
* 手势控制
*/
object Gestures{
/**
* 设置地图旋转手势是否可用
* @param mapReadView 地图准备就绪视图对象
* @param enable 是否启用旋转手势功能
*/
fun setRotateGesturesEnabled(mapReadView: MapReadyView?, enable: Boolean){
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
MineGestures.setRotateGesturesEnabled(mapReadView, enable)
}
MAP_TYPE.AMAP -> {
AmapGestures.setRotateGesturesEnabled(mapReadView, enable)
}
}
}
/**
* 设置地图倾斜手势功能的启用状态
* @param mapReadView 地图准备就绪视图对象
* @param enable 是否启用倾斜手势功能,true为启用,false为禁用
* */
fun setTiltGesturesEnabled(mapReadView: MapReadyView?, enable: Boolean){
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
MineGestures.setTiltGesturesEnabled(mapReadView, enable)
}
MAP_TYPE.AMAP -> {
AmapGestures.setTiltGesturesEnabled(mapReadView, enable)
}
}
}
}
\ No newline at end of file
package com.sd.api.maps
import com.sd.api.MAP_TYPE
import com.sd.api.MSDKInitializer
import com.sd.api.core.MapReadyView
import com.sd.api.maps.amap.AmapLayers
import com.sd.api.maps.mine.MineLayers
/**
* 图层操作代理
*
* @constructor Create empty Layer proxy
*/
object Layer {
/**
* 切换地图图层
* @param mapReadView 地图准备就绪视图对象
* @param type 1=普通 2=卫星
*/
fun toggleLayers(mapReadView: MapReadyView?, type: Int) {
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
MineLayers.toggleLayers(mapReadView, type)
}
MAP_TYPE.AMAP -> {
AmapLayers.toggleLayers(mapReadView, type)
}
}
}
}
\ No newline at end of file
package com.sd.api.maps
import com.sd.api.MAP_TYPE
import com.sd.api.MSDKInitializer
import com.sd.api.core.MapReadyView
import com.sd.api.maps.MSLocStyle
import com.sd.api.maps.amap.AmapLocationStyle
import com.sd.api.maps.mine.MineLocationStyle
/**
* 显示定位蓝点
*
* @constructor Create empty Show my loc style
*/
object LocStyle {
/**
* 设置定位蓝点样式
* @param mapReadView 地图准备就绪视图对象
* @param type 定位类型,默认为LOCATION_TYPE_LOCATION_ROTATE,表示连续定位并旋转视角
*/
fun setLocationStyle(
mapReadView: MapReadyView?,
type: Int = MSLocStyle.LOCATION_TYPE_LOCATION_ROTATE
){
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
MineLocationStyle.setLocationStyle(mapReadView, type)
}
MAP_TYPE.AMAP -> {
AmapLocationStyle.setLocationStyle(mapReadView, type)
}
}
}
}
\ No newline at end of file
package com.sd.api.core.basic package com.sd.api.maps
import android.location.Location import android.location.Location
import com.amap.api.maps.AMapUtils import com.amap.api.maps.AMapUtils
import com.amap.api.maps.model.LatLng import com.amap.api.maps.model.LatLng
import com.sd.api.MAP_TYPE import com.sd.api.MAP_TYPE
import com.sd.api.MSDKInitializer import com.sd.api.MSDKInitializer
import com.sd.api.bean.MSLatLng import com.sd.api.maps.cdata.MSLatLng
/** /**
* 地图计算工具 * 地图计算工具
......
package com.sd.api.core.basic package com.sd.api.maps
/** /**
* 定位蓝点常量 * 定位蓝点常量
......
package com.sd.api.maps
import com.sd.api.MAP_TYPE
import com.sd.api.MSDKInitializer
import com.sd.api.maps.amap.AmapPoiSearch
import com.sd.api.maps.inters.OnMSPoiSearchLis
import com.sd.api.maps.mine.MinePoiSearch
/**
* poi 搜索
*/
object MSPoi {
/**关键字搜索
* @param keyWord 关键字
* @param lat 当期维度
* @param lng 当期经度
* @param onMSPoiSearchLis 搜索回调
*/
fun startPoiSearch(
keyWord: String,
lat: Double,
lng: Double,
onMSPoiSearchLis: OnMSPoiSearchLis
){
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
MinePoiSearch.startPoiSearch(keyWord, lat, lng, onMSPoiSearchLis)
}
MAP_TYPE.AMAP -> {
AmapPoiSearch.startPoiSearch(keyWord, lat, lng, onMSPoiSearchLis)
}
}
}
/**周边搜索
* @param keyWord 关键字
* @param lat 当前维度
* @param lng 当前经度
* @param radios 搜索半径(单位 米)
* @param onMSPoiSearchLis 回调
*/
fun startPoiSearchBound(
keyWord: String,
lat: Double,
lng: Double,
radios: Int,
onMSPoiSearchLis: OnMSPoiSearchLis
){
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
MinePoiSearch.startPoiSearchBound(keyWord, lat, lng, radios, onMSPoiSearchLis)
}
MAP_TYPE.AMAP -> {
AmapPoiSearch.startPoiSearchBound(keyWord, lat, lng, radios, onMSPoiSearchLis)
}
}
}
}
\ No newline at end of file
package com.sd.api.core.basic package com.sd.api.maps
import com.amap.api.services.core.AMapException import com.amap.api.services.core.AMapException
import com.minedata.minenavi.poiquery.GeocodeResult import com.minedata.minenavi.poiquery.GeocodeResult
...@@ -10,9 +10,11 @@ import com.sd.api.MAP_TYPE ...@@ -10,9 +10,11 @@ import com.sd.api.MAP_TYPE
import com.sd.api.MSDKInitializer import com.sd.api.MSDKInitializer
import com.sd.api.UserCtx import com.sd.api.UserCtx
import com.sd.api.bean.RegeocodeRes import com.sd.api.bean.RegeocodeRes
import com.amap.api.services.geocoder.GeocodeSearch as AGeocodeSearch
import com.amap.api.services.geocoder.GeocodeResult as AGeocodeResult
/**逆地理编码*/ /**逆地理编码*/
object MSRegeoCode : GeocodeSearch.OnGeocodeSearchListener, com.amap.api.services.geocoder.GeocodeSearch.OnGeocodeSearchListener { object MSRegeoCode : GeocodeSearch.OnGeocodeSearchListener, AGeocodeSearch.OnGeocodeSearchListener {
private var mSOnRegeo: MSOnRegeo? = null private var mSOnRegeo: MSOnRegeo? = null
...@@ -114,7 +116,7 @@ object MSRegeoCode : GeocodeSearch.OnGeocodeSearchListener, com.amap.api.service ...@@ -114,7 +116,7 @@ object MSRegeoCode : GeocodeSearch.OnGeocodeSearchListener, com.amap.api.service
} }
override fun onGeocodeSearched( override fun onGeocodeSearched(
p0: com.amap.api.services.geocoder.GeocodeResult?, p0: AGeocodeResult?,
p1: Int p1: Int
) { ) {
} }
......
package com.sd.api.maps
import com.sd.api.MAP_TYPE
import com.sd.api.MSDKInitializer
import com.sd.api.core.MapReadyView
import com.sd.api.maps.amap.AmapMethodAdv
import com.sd.api.maps.mine.MineMethodAdv
/**
* 地图方法交互
*
* @constructor Create empty Method adv pro
*/
object MethodAdv {
/**
* 改变地图中心点
* @param mapReadView 地图准备就绪的视图对象
* @param lat 纬度
* @param lng 经度
* **/
fun setMapCenter(
mapReadView: MapReadyView?,
lat: Double,
lng: Double
){
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
MineMethodAdv.setMapCenter(mapReadView, lat, lng)
}
MAP_TYPE.AMAP -> {
AmapMethodAdv.setMapCenter(mapReadView, lat, lng)
}
}
}
/**
* 改变地图缩放级别
* @param mapReadView 地图准备就绪的视图对象
* @param zoom 缩放级别,值越小站得越高,默认值为11f
* */
fun setMapZoom(mapReadView: MapReadyView?, zoom: Float = 11f){
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
MineMethodAdv.setMapZoom(mapReadView, zoom)
}
MAP_TYPE.AMAP -> {
AmapMethodAdv.setMapZoom(mapReadView, zoom)
}
}
}
}
\ No newline at end of file
package com.sd.api.core.basic.amap package com.sd.api.maps.amap
import android.graphics.BitmapFactory import android.graphics.BitmapFactory
import androidx.core.graphics.toColorInt import androidx.core.graphics.toColorInt
import com.amap.api.maps.model.BitmapDescriptorFactory import com.amap.api.maps.model.BitmapDescriptorFactory
import com.amap.api.maps.model.CircleOptions
import com.amap.api.maps.model.LatLng
import com.amap.api.maps.model.MarkerOptions
import com.amap.api.maps.model.PolygonOptions
import com.amap.api.maps.model.PolylineOptions
import com.msmap.api.R import com.msmap.api.R
import com.sd.api.UserCtx import com.sd.api.UserCtx
import com.sd.api.bean.MSLatLng import com.sd.api.maps.cdata.MSLatLng
import com.sd.api.core.MapReadyView import com.sd.api.core.MapReadyView
import com.sd.api.core.basic.MSMarker import com.sd.api.maps.cdata.MSOverlay
import com.sd.api.core.basic.MSOverlay import com.sd.api.maps.cdata.MSMarker
import com.amap.api.maps.model.CircleOptions as ACircleOptions
import com.amap.api.maps.model.LatLng as ALatLng
import com.amap.api.maps.model.MarkerOptions as AMarkerOptions
import com.amap.api.maps.model.PolygonOptions as APolygonOptions
import com.amap.api.maps.model.PolylineOptions as APolylineOptions
/** /**
* 在地图上绘制 * 在地图上绘制
...@@ -34,11 +33,11 @@ object AmapDrawInMap { ...@@ -34,11 +33,11 @@ object AmapDrawInMap {
lat: Double, lat: Double,
lng: Double lng: Double
): MSMarker { ): MSMarker {
var context = UserCtx.instance.mContext var context = UserCtx.Companion.instance.mContext
// 处理高德地图类型的标记点绘制 // 处理高德地图类型的标记点绘制
val aLatLng = ALatLng(lat, lng) val aLatLng = LatLng(lat, lng)
val aMarkerOption = AMarkerOptions().apply { val aMarkerOption = MarkerOptions().apply {
position(aLatLng) position(aLatLng)
icon( icon(
BitmapDescriptorFactory.fromBitmap( BitmapDescriptorFactory.fromBitmap(
...@@ -65,15 +64,15 @@ object AmapDrawInMap { ...@@ -65,15 +64,15 @@ object AmapDrawInMap {
fun drawPolyline( fun drawPolyline(
mapReadView: MapReadyView?, mapReadView: MapReadyView?,
msLatLng: List<MSLatLng>, msLatLng: List<MSLatLng>,
width: Float = 10f, fcolor: Int,
fcolor: Int = "#FF00FF".toColorInt(), width: Float,
isDotted: Boolean = false isDotted: Boolean = false
): MSOverlay { ): MSOverlay {
// 绘制高德地图的线 // 绘制高德地图的线
var latLngs = msLatLng.map { var latLngs = msLatLng.map {
ALatLng(it.lat, it.lng) LatLng(it.lat, it.lng)
} }
val aOption = APolylineOptions().addAll(latLngs) val aOption = PolylineOptions().addAll(latLngs)
.width(width) .width(width)
.color(fcolor) .color(fcolor)
.setDottedLine(isDotted) .setDottedLine(isDotted)
...@@ -102,8 +101,8 @@ object AmapDrawInMap { ...@@ -102,8 +101,8 @@ object AmapDrawInMap {
strokeColor: Int = "#500000FF".toColorInt(), strokeColor: Int = "#500000FF".toColorInt(),
strokeWidth: Float = 15f strokeWidth: Float = 15f
): MSOverlay { ): MSOverlay {
var latLng = ALatLng(lat, lng) var latLng = LatLng(lat, lng)
val options = ACircleOptions() val options = CircleOptions()
.center(latLng) .center(latLng)
.radius(radius.toDouble()) .radius(radius.toDouble())
.fillColor(fillColor) .fillColor(fillColor)
...@@ -132,9 +131,9 @@ object AmapDrawInMap { ...@@ -132,9 +131,9 @@ object AmapDrawInMap {
strokeColor: Int = "#50FF00FF".toColorInt() strokeColor: Int = "#50FF00FF".toColorInt()
): MSOverlay { ): MSOverlay {
var latLngs = msLatLng.map { var latLngs = msLatLng.map {
ALatLng(it.lat, it.lng) LatLng(it.lat, it.lng)
} }
val aPolygonOptions = APolygonOptions().apply { val aPolygonOptions = PolygonOptions().apply {
addAll(latLngs) addAll(latLngs)
fillColor(fillColor) fillColor(fillColor)
strokeWidth(strokeWidth) strokeWidth(strokeWidth)
......
package com.sd.api.core.basic.amap package com.sd.api.maps.amap
import com.sd.api.core.MapReadyView import com.sd.api.core.MapReadyView
/** /**
* 高德手势交互 * 高德手势交互
*/ */
object AmapGestures { internal object AmapGestures {
// //
// /***缩放**/ // /***缩放**/
......
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