[map-sdk] 同步地图SDK 3.4.0.1

This commit is contained in:
jiaguofeng
2024-03-05 18:37:00 +08:00
parent 91b864f5aa
commit 5abb444ae4
281 changed files with 3004 additions and 2284 deletions

View File

@@ -530,7 +530,7 @@ class MapEngine {
}
}
fun setHDTypeVisibile(type: IntArray?) {
fun setHDTypeVisible(type: IntArray?) {
if (mObj != 0L) {
setHDTypeVisibileJni(mObj, type)
}
@@ -821,10 +821,16 @@ class MapEngine {
} else false
}
fun updateBatchAnchorPositon(dataStr: String): Boolean {
return if (mObj != 0L) {
updateBatchAnchorPositonJni(mObj, dataStr)
} else false
// fun updateBatchAnchorPositon(dataStr: String): Boolean {
// return if (mObj != 0L) {
// updateBatchAnchorPositonJni(mObj, dataStr)
// } else false
// }
fun updateBatchAnchorPositon(data: ByteArray?): Boolean{
return if(mObj != 0L){
updateBatchAnchorPositonJni(mObj,data);
}else false
}
fun setAnchorFlash(id: String, colorType: Int, color: String, time: Float, angle: Float) {
@@ -1534,7 +1540,9 @@ class MapEngine {
private external fun isAnchorDynamicMovingJni(obj: Long, anchorID: String): Boolean
//批量更新
private external fun updateBatchAnchorPositonJni(obj: Long, dataStr: String): Boolean
// private external fun updateBatchAnchorPositonJni(obj: Long, dataStr: String): Boolean
private external fun updateBatchAnchorPositonJni(obj: Long, data: ByteArray?): Boolean
private external fun setAnchorFlashJni(
obj: Long,

View File

@@ -5,7 +5,10 @@ import android.graphics.Bitmap
import android.graphics.Point
import android.opengl.GLException
import android.opengl.GLSurfaceView
import android.os.*
import android.os.Build
import android.os.Handler
import android.os.Looper
import android.os.Message
import android.text.TextUtils
import android.util.Log
import android.view.GestureDetector
@@ -29,10 +32,9 @@ import com.zhidaoauto.map.sdk.open.MapAutoApi
import com.zhidaoauto.map.sdk.open.abs.IRenderData
import com.zhidaoauto.map.sdk.open.abs.marker.OnMarkerDragListener
import com.zhidaoauto.map.sdk.open.abs.view.IMapStyleParams
import com.zhidaoauto.map.sdk.open.marker.Marker
import com.zhidaoauto.map.sdk.open.marker.MarkerInfo
import com.zhidaoauto.map.sdk.open.marker.MarkerOptions
import com.zhidaoauto.map.sdk.open.tools.MapTools
import com.zhidaoauto.map.sdk.open.common.tools.MapTools
import com.zhidaoauto.map.sdk.open.renders.marker.Marker
import com.zhidaoauto.map.sdk.open.renders.marker.MarkerOptions
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
@@ -142,42 +144,38 @@ class MapView(context: Context, private val mMapStyleParams: IMapStyleParams, pr
// 耗时专用协程
private val mDemaningScope: CoroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.IO)
private var mHandler:Handler
init {
val mapViewThread = HandlerThread("mapViewDrawer")
mapViewThread.start()
mHandler = object : Handler(mapViewThread.looper) {
override fun handleMessage(msg: Message) {
when (msg.what) {
ZOOM_CHANGE -> mMapController?.dispatchZoomChanged(msg.obj as Float)
// ROTATE_CHANGE ->mMapController?.dispatchRotationAngleChanged((msg.obj as Float))
// DAngle_CHANGE -> mMapController?.dispatchDAngleChanged()
// FOCUS_CHANGE -> mMapController?.dispatchFocusChanged()
RENDER_CHANGE -> {
mEventController?.dispatchRenderListener(msg.arg1)
}
RENDER_COMPLETE -> {
if (DEBUG) {
Log.i(TAG, "mapop--load render complete-start")
}
// CommonEventController.instance?.dispatchCameraChangeFinishListener(CommonController.instance.mapAutoView?.getMapAutoViewHelper()?.getCameraPosition() ?: null)
if (DEBUG) {
Log.i(TAG, "mapop--load render complete-end")
}
}
LOAD_COMPLETE -> {
if (DEBUG) {
Log.i(TAG, "mapop--load complete-start")
}
mEventController?.dispatchMapLoadedListener()
}
INIT_COMPLETE -> {
if (DEBUG) {
Log.i(TAG, "mapop--init complete-start")
}
mEventController?.dispatchMapLoadedInitListener()
private val mHandler: Handler = object : Handler(Looper.getMainLooper()) {
override fun handleMessage(msg: Message) {
when (msg.what) {
ZOOM_CHANGE -> mMapController?.dispatchZoomChanged(msg.obj as Float)
ROTATE_CHANGE ->mMapController?.dispatchRotationAngleChanged((msg.obj as Float))
DAngle_CHANGE -> mMapController?.dispatchDAngleChanged(msg.obj as Float)
FOCUS_CHANGE -> mMapController?.dispatchFocusChanged()
RENDER_CHANGE -> {
mEventController?.dispatchRenderListener(msg.arg1)
}
RENDER_COMPLETE -> {
if (DEBUG) {
Log.i(TAG, "mapop--load render complete-start")
}
// CommonEventController.instance?.dispatchCameraChangeFinishListener(CommonController.instance.mapAutoView?.getMapAutoViewHelper()?.getCameraPosition() ?: null)
if (DEBUG) {
Log.i(TAG, "mapop--load render complete-end")
}
}
LOAD_COMPLETE -> {
if (DEBUG) {
Log.i(TAG, "mapop--load complete-start")
}
mEventController?.dispatchMapLoadedListener()
}
INIT_COMPLETE -> {
if (DEBUG) {
Log.i(TAG, "mapop--init complete-start")
}
mEventController?.dispatchMapLoadedInitListener()
}
}
}
@@ -337,8 +335,8 @@ class MapView(context: Context, private val mMapStyleParams: IMapStyleParams, pr
private var x = 0.0
private var y = 0.0
private fun jsonToObj(json: String?): MarkerInfo? {
return JSON.parseObject(json, MarkerInfo::class.java)
private fun jsonToObj(json: String?): com.zhidaoauto.map.sdk.open.renders.marker.MarkerInfo? {
return JSON.parseObject(json, com.zhidaoauto.map.sdk.open.renders.marker.MarkerInfo::class.java)
}
private var isTouchingFlag = false
@@ -720,9 +718,9 @@ class MapView(context: Context, private val mMapStyleParams: IMapStyleParams, pr
}
mMapEngine.setIsEnableShadow(mMapStyleParams.isShadowEnable())
loadOverCallbak()
// if(mMapStyleParams.getHDVisibileArray().isNotEmpty()){
// mMapEngine.setHDTypeVisibile(mMapStyleParams.getHDVisibileArray())
// }
if(mMapStyleParams.getHDVisibileArray().isNotEmpty()){
mMapEngine.setHDTypeVisible(mMapStyleParams.getHDVisibileArray())
}
//默认锁车模式
mMapEngine.setLockSelfCar(true)
mMapController?.setMapStyle(styleMode)
@@ -751,6 +749,8 @@ class MapView(context: Context, private val mMapStyleParams: IMapStyleParams, pr
if(mMapStyleParams.isSkyBoxEnable()) {
mMapController?.setSkyBoxMode()
}
isFling = false
isRotate = false
mSurfaceCreated.set(true)
if (DEBUG) {
Log.i(TAG, "mapop-surfaceop--selfop--onSurfaceCreated${mSurfaceCreated}")
@@ -857,7 +857,8 @@ class MapView(context: Context, private val mMapStyleParams: IMapStyleParams, pr
val markerInfo = jsonToObj(resultInfo)
if (markerInfo != null) {
val marker: Marker = Marker(MarkerOptions(markerInfo.id,null).setGps(true).position(
val marker: Marker = Marker(
MarkerOptions(markerInfo.id,null).setGps(true).position(
LonLatPoint(markerInfo.lon, markerInfo.lat)
).setAssInfo(markerInfo.assInfo),mMapController,mMarkerCall)
lastClickMarker?.let {
@@ -1083,13 +1084,13 @@ class MapView(context: Context, private val mMapStyleParams: IMapStyleParams, pr
private var isScroll = true
//可以斜滑
private var isFling = false
private var isFling = true
//可以旋转
private var isRotate = false
private var isRotate = true
//可以缩放
private var isCanZoom = false
private var isCanZoom = true
private var isVr = true
@@ -1151,16 +1152,10 @@ class MapView(context: Context, private val mMapStyleParams: IMapStyleParams, pr
}
fun onMapFocusChanging() {
if (DEBUG) {
Log.i(TAG, "mapop--onMapFocusChanging")
}
mHandler.sendEmptyMessage(FOCUS_CHANGE)
}
fun onMapZoomChanging(zoomIndex: Float) {
if (DEBUG) {
Log.i(TAG, "mapop--onMapZoomChanging--:${zoomIndex}")
}
val msg = Message.obtain()
msg.what = ZOOM_CHANGE
msg.obj = zoomIndex
@@ -1168,9 +1163,6 @@ class MapView(context: Context, private val mMapStyleParams: IMapStyleParams, pr
}
fun onMapRAngleChanging(angle:Float) {
if (DEBUG) {
Log.i(TAG, "mapop--onMapRAngleChanging:${angle}")
}
val msg = Message.obtain()
msg.what = ROTATE_CHANGE
msg.obj = angle
@@ -1178,9 +1170,6 @@ class MapView(context: Context, private val mMapStyleParams: IMapStyleParams, pr
}
fun onMapDAngleChanging(angle:Float) {
if (DEBUG) {
Log.i(TAG, "mapop--onMapDAngleChanging:${angle}")
}
val msg = Message.obtain()
msg.what = DAngle_CHANGE
msg.obj = angle
@@ -1276,9 +1265,9 @@ class MapView(context: Context, private val mMapStyleParams: IMapStyleParams, pr
}
private fun renderDataCallback(data: String) {
if(DEBUG){
Log.d("renderDataCallback", "renderDataCallback:$data")
}
// if(DEBUG){
// Log.d("renderDataCallback", "renderDataCallback:$data")
// }
renderDataCall?.renderDataResult(data)
}