Commit 8a1780fa authored by p x's avatar p x
Browse files

调试DEMO

parent 7a1a8e98
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/et"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:text="北京大学" />
<Button
android:id="@+id/bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关键字搜索" />
<Button
android:id="@+id/bt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="范围搜索" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.sd.maplibrary.ui.MapMultiView
android:id="@+id/mapMultiView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:map_type="MINE" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/poi_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20dp"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
</RelativeLayout>
</LinearLayout>
\ No newline at end of file
...@@ -5,6 +5,17 @@ ...@@ -5,6 +5,17 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/bt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="删除面" />
</LinearLayout>
<com.sd.maplibrary.ui.MapMultiView <com.sd.maplibrary.ui.MapMultiView
android:id="@+id/mapMultiView" android:id="@+id/mapMultiView"
......
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/et1"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="123.43326" />
<EditText
android:id="@+id/et2"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="41.80196" />
<Button
android:id="@+id/bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="查询" />
</LinearLayout>
<TextView
android:id="@+id/tv"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android">
xmlns:app="http://schemas.android.com/apk/res-auto">
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground" android:background="@color/white"
android:paddingHorizontal="10dp" android:paddingHorizontal="10dp"
android:paddingVertical="5dp"> android:paddingVertical="5dp">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
...@@ -26,20 +24,20 @@ ...@@ -26,20 +24,20 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"
android:textSize="12sp" android:textColor="@color/text_black"
android:textColor="@color/text_black" /> android:textSize="12sp" />
<TextView <TextView
android:id="@+id/poi_des" android:id="@+id/poi_des"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="2dp" android:layout_marginTop="2dp"
android:autoSizeMaxTextSize="9sp"
android:autoSizeMinTextSize="7sp"
android:autoSizeTextType="uniform"
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"
android:text="" android:text=""
android:autoSizeTextType="uniform"
android:autoSizeMinTextSize="7sp"
android:autoSizeMaxTextSize="9sp"
android:textColor="@color/text_grey" android:textColor="@color/text_grey"
android:textSize="9sp" /> android:textSize="9sp" />
...@@ -58,7 +56,8 @@ ...@@ -58,7 +56,8 @@
<ImageView <ImageView
android:layout_width="@dimen/dp_20" android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20" android:layout_height="@dimen/dp_20"
android:src="@drawable/go_here" /> android:src="@drawable/go_here"
android:visibility="gone"/>
<TextView <TextView
android:id="@+id/tv_distan" android:id="@+id/tv_distan"
......
...@@ -2,24 +2,49 @@ ...@@ -2,24 +2,49 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<!-- 打开关闭sdcard的权限 -->
<uses-permission
android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
tools:ignore="ProtectedPermissions" />
<uses-permission
android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
tools:ignore="ProtectedPermissions" /> <!-- 允许程序打开网络套接字 -->
<uses-permission android:name="android.permission.INTERNET" /> <!-- 允许程序访问网络状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 允许用户改变WiFi连接状态 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 程序访问粗略位置 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 允许用户访问精确位置 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- Android Q 允许后台运行定位 -->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <!-- 允许程序读取手机状态 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 打电话的权限 -->
<uses-permission android:name="android.permission.CALL_PHONE" /> <!-- 从SDCard读出数据权限 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- 允许程序写入外部存储设备 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 允许程序读取所有者数据 -->
<!-- Android 11+ 所有文件访问权限 -->
<uses-permission
android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.READ_OWNER_DATA" /> <!-- 访问WiFi状态,需要WiFi信息用于网络定位 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 访问网络的变化, 需要某些信息用于网络定位 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <!-- 8.0 安装未知程序权限 -->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<application> <application>
<!-- android:supportsRtl="true">--> <!-- android:supportsRtl="true">-->
<!-- <uses-library--> <!-- <uses-library-->
<!-- android:name="org.apache.http.legacy"--> <!-- android:name="org.apache.http.legacy"-->
<!-- android:required="false" />--> <!-- android:required="false" />-->
<!-- <meta-data--> <!-- <meta-data-->
<!-- android:name="com.minedata.minenavi.apikey"--> <!-- android:name="com.minedata.minenavi.apikey"-->
<!-- android:value="57ac7a0d56494912a0c28e651fa4a40a" />--> <!-- android:value="57ac7a0d56494912a0c28e651fa4a40a" />-->
<!-- <meta-data--> <!-- <meta-data-->
<!-- android:name="com.amap.api.v2.apikey"--> <!-- android:name="com.amap.api.v2.apikey"-->
<!-- android:value="3b7d009011b97dcc3815a93e8ddfcd77" />--> <!-- android:value="3b7d009011b97dcc3815a93e8ddfcd77" />-->
<!-- &lt;!&ndash; 定位需要的服务 使用2.0的定位需要加上这个 &ndash;&gt;--> <!-- &lt;!&ndash; 定位需要的服务 使用2.0的定位需要加上这个 &ndash;&gt;-->
<!-- <service android:name="com.amap.api.location.APSService" />--> <!-- <service android:name="com.amap.api.location.APSService" />-->
</application> </application>
</manifest> </manifest>
\ No newline at end of file
...@@ -2,18 +2,23 @@ package com.sd.maplibrary.bean ...@@ -2,18 +2,23 @@ package com.sd.maplibrary.bean
/***定位数据回调**/ /***定位数据回调**/
class MSLocBean { class MSLocBean {
companion object {
val instance: MSLocBean by lazy { MSLocBean() }
}
//当前经纬度 //当前经纬度
var lat = 0.0 var lat = 0.0
var lng = 0.0 var lng = 0.0
//速度 //速度
var speed = 0f var speed = 0f
//航向角
var bearing = 0f var bearing = 0f
//精度
var accuracy = 0f var accuracy = 0f
//高程 //高程
var altitude = 0.0 var altitude = 0.0
companion object {
val instance: MSLocBean by lazy { MSLocBean() }
}
} }
\ No newline at end of file
...@@ -2,11 +2,12 @@ package com.sd.maplibrary.core ...@@ -2,11 +2,12 @@ package com.sd.maplibrary.core
import android.content.Context import android.content.Context
import android.graphics.BitmapFactory import android.graphics.BitmapFactory
import android.graphics.Color
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.minedata.minenavi.map.CircleOptions import com.minedata.minenavi.map.CircleOptions
import com.minedata.minenavi.map.Marker
import com.minedata.minenavi.map.MarkerOptions import com.minedata.minenavi.map.MarkerOptions
import com.minedata.minenavi.map.Overlay
import com.minedata.minenavi.map.PolygonOptions import com.minedata.minenavi.map.PolygonOptions
import com.minedata.minenavi.map.PolylineOptions import com.minedata.minenavi.map.PolylineOptions
import com.minedata.minenavi.mapdal.LatLng import com.minedata.minenavi.mapdal.LatLng
...@@ -14,11 +15,39 @@ import com.sd.maplibrary.MAP_TYPE ...@@ -14,11 +15,39 @@ import com.sd.maplibrary.MAP_TYPE
import com.sd.maplibrary.MSDKInitializer import com.sd.maplibrary.MSDKInitializer
import com.sd.maplibrary.R import com.sd.maplibrary.R
import com.sd.maplibrary.bean.MSLatLng import com.sd.maplibrary.bean.MSLatLng
import com.amap.api.maps.model.Circle
import com.amap.api.maps.model.Polyline
import com.amap.api.maps.model.Polygon
import com.amap.api.maps.model.CircleOptions as ACircleOptions import com.amap.api.maps.model.CircleOptions as ACircleOptions
import com.amap.api.maps.model.LatLng as ALatLng import com.amap.api.maps.model.LatLng as ALatLng
import com.amap.api.maps.model.Marker as AMarker
import com.amap.api.maps.model.MarkerOptions as AMarkerOptions import com.amap.api.maps.model.MarkerOptions as AMarkerOptions
import com.amap.api.maps.model.PolylineOptions as APolylineOptions
import com.amap.api.maps.model.PolygonOptions as APolygonOptions import com.amap.api.maps.model.PolygonOptions as APolygonOptions
import com.amap.api.maps.model.PolylineOptions as APolylineOptions
/****返回的mark**/
object MSMarker {
//四维mark
var maker: Marker? = null
//高德mark
var amaker: AMarker? = null
}
/****返回的图层**/
object MSOverlay {
//四维mark
var overlay: Overlay? = null
//高德圆形
var aCircle: Circle? = null
//高德线
var aPolyline: Polyline? = null
//高德面
var aPolygon: Polygon? = null
}
/*****在地图上绘制**/ /*****在地图上绘制**/
...@@ -27,8 +56,14 @@ object MSCanvesInMap { ...@@ -27,8 +56,14 @@ object MSCanvesInMap {
/***绘制Market 点标记 /***绘制Market 点标记
* @param lat 纬度 * @param lat 纬度
* @param lng 经度 * @param lng 经度
* @return Marker对象 用于删掉
* ***/ * ***/
fun dMarket(context: Context,mapReadView: MapReadyView?, lat: Double, lng: Double) { fun drawMarket(
context: Context,
mapReadView: MapReadyView?,
lat: Double,
lng: Double
): MSMarker {
when (MSDKInitializer.getMapType()) { when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> { MAP_TYPE.MINE -> {
val icon = BitmapFactory.decodeResource(context.resources, R.drawable.market_loc) val icon = BitmapFactory.decodeResource(context.resources, R.drawable.market_loc)
...@@ -38,7 +73,9 @@ object MSCanvesInMap { ...@@ -38,7 +73,9 @@ object MSCanvesInMap {
.bitmap(icon) .bitmap(icon)
// 位置坐标 // 位置坐标
.position(latLng) .position(latLng)
mapReadView?.mMineMap?.addMarker(options) var maker = mapReadView?.mMineMap?.addMarker(options)
MSMarker.maker = maker
return MSMarker
} }
MAP_TYPE.AMAP -> { MAP_TYPE.AMAP -> {
...@@ -52,7 +89,9 @@ object MSCanvesInMap { ...@@ -52,7 +89,9 @@ object MSCanvesInMap {
) )
) )
} }
mapReadView?.aMap?.addMarker(aMarkerOption) var aMaker = mapReadView?.aMap?.addMarker(aMarkerOption)
MSMarker.amaker = aMaker
return MSMarker
} }
} }
} }
...@@ -64,13 +103,13 @@ object MSCanvesInMap { ...@@ -64,13 +103,13 @@ object MSCanvesInMap {
*@param fcolor = 填充颜色 *@param fcolor = 填充颜色
*@param isDotted = 是否虚线 *@param isDotted = 是否虚线
* ***/ * ***/
fun dPolyline( fun drawPolyline(
mapReadView: MapReadyView?, mapReadView: MapReadyView?,
msLatLng: List<MSLatLng>, msLatLng: List<MSLatLng>,
width: Float = 10f, width: Float = 10f,
fcolor: Int = "#FF00FF".toColorInt(), fcolor: Int = "#FF00FF".toColorInt(),
isDotted: Boolean = false isDotted: Boolean = false
) { ): MSOverlay {
when (MSDKInitializer.getMapType()) { when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> { MAP_TYPE.MINE -> {
var latLngs = msLatLng.map { var latLngs = msLatLng.map {
...@@ -83,17 +122,21 @@ object MSCanvesInMap { ...@@ -83,17 +122,21 @@ object MSCanvesInMap {
.color(fcolor) .color(fcolor)
.setDottedLine(isDotted) .setDottedLine(isDotted)
var polyline = mapReadView?.mMineMap?.addPolyline(options) var polyline = mapReadView?.mMineMap?.addPolyline(options)
MSOverlay.overlay = polyline
return MSOverlay
} }
MAP_TYPE.AMAP -> { MAP_TYPE.AMAP -> {
var latLngs = msLatLng.map { var latLngs = msLatLng.map {
ALatLng(it.lat, it.lng) ALatLng(it.lat, it.lng)
} }
val aMarkerOption = APolylineOptions().addAll(latLngs) val aOption = APolylineOptions().addAll(latLngs)
.width(width) .width(width)
.color(fcolor) .color(fcolor)
.setDottedLine(isDotted) .setDottedLine(isDotted)
var polyline = mapReadView?.aMap?.addPolyline(aMarkerOption) var polyline = mapReadView?.aMap?.addPolyline(aOption)
MSOverlay.aPolyline = polyline
return MSOverlay
} }
} }
} }
...@@ -105,7 +148,7 @@ object MSCanvesInMap { ...@@ -105,7 +148,7 @@ object MSCanvesInMap {
* @param fillColor 填充颜色 * @param fillColor 填充颜色
* @param 边框颜色 * @param 边框颜色
* ****/ * ****/
fun dCircle( fun drawCircle(
mapReadView: MapReadyView?, mapReadView: MapReadyView?,
lat: Double, lat: Double,
lng: Double, lng: Double,
...@@ -113,7 +156,7 @@ object MSCanvesInMap { ...@@ -113,7 +156,7 @@ object MSCanvesInMap {
fillColor: Int = "#50FF0000".toColorInt(), fillColor: Int = "#50FF0000".toColorInt(),
strokeColor: Int = "#500000FF".toColorInt(), strokeColor: Int = "#500000FF".toColorInt(),
strokeWidth: Float = 15f strokeWidth: Float = 15f
) { ): MSOverlay {
when (MSDKInitializer.getMapType()) { when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> { MAP_TYPE.MINE -> {
var latLng = LatLng(lat, lng) var latLng = LatLng(lat, lng)
...@@ -124,6 +167,8 @@ object MSCanvesInMap { ...@@ -124,6 +167,8 @@ object MSCanvesInMap {
.strokeColor(strokeColor) .strokeColor(strokeColor)
.strokeWidth(strokeWidth) .strokeWidth(strokeWidth)
var circle = mapReadView?.mMineMap?.addCircle(options) var circle = mapReadView?.mMineMap?.addCircle(options)
MSOverlay.overlay = circle
return MSOverlay
} }
MAP_TYPE.AMAP -> { MAP_TYPE.AMAP -> {
...@@ -135,6 +180,8 @@ object MSCanvesInMap { ...@@ -135,6 +180,8 @@ object MSCanvesInMap {
.strokeColor(strokeColor) .strokeColor(strokeColor)
.strokeWidth(strokeWidth) .strokeWidth(strokeWidth)
var circle = mapReadView?.aMap?.addCircle(options) var circle = mapReadView?.aMap?.addCircle(options)
MSOverlay.aCircle = circle
return MSOverlay
} }
} }
} }
...@@ -147,13 +194,13 @@ object MSCanvesInMap { ...@@ -147,13 +194,13 @@ object MSCanvesInMap {
* @param strokeWidth 边框宽度 * @param strokeWidth 边框宽度
* @param strokeColor 边框颜色 * @param strokeColor 边框颜色
* ****/ * ****/
fun dPolygon( fun drawPolygon(
mapReadView: MapReadyView?, mapReadView: MapReadyView?,
msLatLng: List<MSLatLng>, msLatLng: List<MSLatLng>,
fillColor: Int = "#10FF00FF".toColorInt(), fillColor: Int = "#10FF00FF".toColorInt(),
strokeWidth: Float = 15f, strokeWidth: Float = 15f,
strokeColor: Int = "#50FF00FF".toColorInt() strokeColor: Int = "#50FF00FF".toColorInt()
) { ): MSOverlay {
when (MSDKInitializer.getMapType()) { when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> { MAP_TYPE.MINE -> {
var latLngs = msLatLng.map { var latLngs = msLatLng.map {
...@@ -167,6 +214,8 @@ object MSCanvesInMap { ...@@ -167,6 +214,8 @@ object MSCanvesInMap {
strokeColor(strokeColor) strokeColor(strokeColor)
} }
var polygon = mapReadView?.mMineMap?.addPolygon(polygonOptions) var polygon = mapReadView?.mMineMap?.addPolygon(polygonOptions)
MSOverlay.overlay = polygon
return MSOverlay
} }
MAP_TYPE.AMAP -> { MAP_TYPE.AMAP -> {
...@@ -180,6 +229,73 @@ object MSCanvesInMap { ...@@ -180,6 +229,73 @@ object MSCanvesInMap {
strokeColor(strokeColor) strokeColor(strokeColor)
} }
var polygon = mapReadView?.aMap?.addPolygon(aPolygonOptions) var polygon = mapReadView?.aMap?.addPolygon(aPolygonOptions)
MSOverlay.aPolygon = polygon
return MSOverlay
}
}
}
/****删除Marker**/
fun deleteMarker(mapReadView: MapReadyView?, mSMarker: MSMarker?) {
if (mSMarker == null)
return
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
mapReadView?.mMineMap?.removeMarker(mSMarker.maker)
}
MAP_TYPE.AMAP -> {
// 清空地图上所有已经标注的marker
mapReadView?.aMap?.clear()
}
}
}
/****删除线**/
fun deletePolyline(mapReadView: MapReadyView?, mSOverlay: MSOverlay?) {
if (mSOverlay == null)
return
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
mapReadView?.mMineMap?.removeOverlay(mSOverlay.overlay)
}
MAP_TYPE.AMAP -> {
mSOverlay.aPolyline?.remove()
}
}
}
/****删除圆形**/
fun deleteCircle(mapReadView: MapReadyView?, mSOverlay: MSOverlay?) {
if (mSOverlay == null) {
return
}
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
mapReadView?.mMineMap?.removeOverlay(mSOverlay.overlay)
}
MAP_TYPE.AMAP -> {
mSOverlay.aCircle?.remove()
}
}
}
/****删除面**/
fun deletePolygon(mapReadView: MapReadyView?, mSOverlay: MSOverlay?) {
if (mSOverlay == null) {
return
}
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
mapReadView?.mMineMap?.removeOverlay(mSOverlay.overlay)
}
MAP_TYPE.AMAP -> {
mSOverlay.aPolygon?.remove()
} }
} }
} }
......
...@@ -105,12 +105,11 @@ object MSGpsLocation { ...@@ -105,12 +105,11 @@ object MSGpsLocation {
MAP_TYPE.MINE -> { MAP_TYPE.MINE -> {
MineLocationManager.getInstance().removeAllListener() MineLocationManager.getInstance().removeAllListener()
MineLocationManager.getInstance().stop() MineLocationManager.getInstance().stop()
MineLocationManager.getInstance().cleanup()
} }
MAP_TYPE.AMAP -> { MAP_TYPE.AMAP -> {
locationClient?.onDestroy() locationClient?.stopLocation()
locationClient = null
} }
} }
} }
...@@ -123,7 +122,8 @@ object MSGpsLocation { ...@@ -123,7 +122,8 @@ object MSGpsLocation {
} }
MAP_TYPE.AMAP -> { MAP_TYPE.AMAP -> {
locationClient?.onDestroy()
locationClient = null
} }
} }
} }
......
...@@ -22,13 +22,37 @@ object MSPoiSearch : PoiSearch.OnPoiSearchListener, APoiSearch.OnPoiSearchListen ...@@ -22,13 +22,37 @@ object MSPoiSearch : PoiSearch.OnPoiSearchListener, APoiSearch.OnPoiSearchListen
private var onMSPoiSearchLis: OnMSPoiSearchLis? = null private var onMSPoiSearchLis: OnMSPoiSearchLis? = null
// //四维搜索对象
// private var poiSearch: PoiSearch? = null
// //
interface OnMSPoiSearchLis { interface OnMSPoiSearchLis {
/***
* 搜索返回
* @param poiList 返回列表
* @param resCode 1=成功 0=失败
* ***/
fun onPoiLis(poiList: List<PoiSearchRes>, resCode: Int) fun onPoiLis(poiList: List<PoiSearchRes>, resCode: Int)
} }
/***搜索初始化**/
private fun initSearch(context: Context) {
when (MSDKInitializer.getMapType()) {
MAP_TYPE.MINE -> {
// poiSearch = PoiSearch(context)
}
MAP_TYPE.AMAP -> {
}
}
}
/***关键字搜索 /***关键字搜索
* @param keyWord 关键字
* @param lat 当期维度 * @param lat 当期维度
* @param lng 当期经度 * @param lng 当期经度
* @param onMSPoiSearchLis 回调
* ***/ * ***/
fun startPoiSearch( fun startPoiSearch(
context: Context, context: Context,
...@@ -74,7 +98,14 @@ object MSPoiSearch : PoiSearch.OnPoiSearchListener, APoiSearch.OnPoiSearchListen ...@@ -74,7 +98,14 @@ object MSPoiSearch : PoiSearch.OnPoiSearchListener, APoiSearch.OnPoiSearchListen
} }
} }
/****周边搜索**/ /****周边搜索
* @param keyWord 关键字
* @param lat 当期维度
* @param lng 当期经度
* @param radios 搜索半径(单位 米)
* @param onMSPoiSearchLis 回调
* **/
fun startPoiSearchBound( fun startPoiSearchBound(
context: Context, context: Context,
keyWord: String, keyWord: String,
...@@ -151,9 +182,9 @@ object MSPoiSearch : PoiSearch.OnPoiSearchListener, APoiSearch.OnPoiSearchListen ...@@ -151,9 +182,9 @@ object MSPoiSearch : PoiSearch.OnPoiSearchListener, APoiSearch.OnPoiSearchListen
adCode = pos.adCode adCode = pos.adCode
} }
} }
onMSPoiSearchLis?.onPoiLis(poiList, rCode) onMSPoiSearchLis?.onPoiLis(poiList, 1)
} else { } else {
onMSPoiSearchLis?.onPoiLis(listOf(), rCode) onMSPoiSearchLis?.onPoiLis(listOf(), 0)
} }
} }
...@@ -176,10 +207,10 @@ object MSPoiSearch : PoiSearch.OnPoiSearchListener, APoiSearch.OnPoiSearchListen ...@@ -176,10 +207,10 @@ object MSPoiSearch : PoiSearch.OnPoiSearchListener, APoiSearch.OnPoiSearchListen
adCode = pos.adCode adCode = pos.adCode
} }
} }
onMSPoiSearchLis?.onPoiLis(poiList, rCode) onMSPoiSearchLis?.onPoiLis(poiList, 1)
} }
} else { } else {
onMSPoiSearchLis?.onPoiLis(listOf(), rCode) onMSPoiSearchLis?.onPoiLis(listOf(), 0)
} }
} }
......
...@@ -24,7 +24,11 @@ object MSRegeoCode : GeocodeSearch.OnGeocodeSearchListener, AGeocodeSearch.OnGeo ...@@ -24,7 +24,11 @@ object MSRegeoCode : GeocodeSearch.OnGeocodeSearchListener, AGeocodeSearch.OnGeo
fun onRegeo(regeocodeRes: RegeocodeRes?) fun onRegeo(regeocodeRes: RegeocodeRes?)
} }
/****逆地理编码***/ /****逆地理编码
* @param lat 维度
* @param lng 经度
* @param msOnRegeo 信息回调
* ***/
fun geoCoder( fun geoCoder(
context: Context, context: Context,
lat: Double, lat: Double,
...@@ -50,7 +54,7 @@ object MSRegeoCode : GeocodeSearch.OnGeocodeSearchListener, AGeocodeSearch.OnGeo ...@@ -50,7 +54,7 @@ object MSRegeoCode : GeocodeSearch.OnGeocodeSearchListener, AGeocodeSearch.OnGeo
AGeocodeSearch.AMAP AGeocodeSearch.AMAP
) )
var geocoderSearch = AGeocodeSearch(context) var geocoderSearch = AGeocodeSearch(context)
geocoderSearch.setOnGeocodeSearchListener(this); geocoderSearch.setOnGeocodeSearchListener(this)
geocoderSearch.getFromLocationAsyn(query) // 设置异步逆地理编码请求 geocoderSearch.getFromLocationAsyn(query) // 设置异步逆地理编码请求
} }
} }
......
...@@ -47,15 +47,18 @@ class MapMultiView : LinearLayout { ...@@ -47,15 +47,18 @@ class MapMultiView : LinearLayout {
//高德地图 //高德地图
private val aMapFragment by lazy { AMapFragment.newInstance() } private val aMapFragment by lazy { AMapFragment.newInstance() }
private var enmuValue = 0 private var enmuValue = -1
private fun init(attrs: AttributeSet?, defStyle: Int) { private fun init(attrs: AttributeSet?, defStyle: Int) {
context.withStyledAttributes(attrs, R.styleable.MapMultiView, defStyle, 0) { // context.withStyledAttributes(attrs, R.styleable.MapMultiView, defStyle, 0) {
if (hasValue(R.styleable.MapMultiView_map_type)) { // if (hasValue(R.styleable.MapMultiView_map_type)) {
enmuValue = getInt(R.styleable.MapMultiView_map_type, 0) // enmuValue = getInt(R.styleable.MapMultiView_map_type, -1)
} // }
} // }
println("------------MapMultiView = ${MSDKInitializer.getMapType()}") enmuValue = MSDKInitializer.getMapType().ordinal
println("------------MapMultiView = ${MSDKInitializer.getMapType().ordinal}")
println("------------enmuValue = $enmuValue")
binding = MultiViewBinding.inflate(LayoutInflater.from(context)) binding = MultiViewBinding.inflate(LayoutInflater.from(context))
addView(binding.root) addView(binding.root)
loadMapFrament() loadMapFrament()
......
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