[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

@@ -86,8 +86,8 @@ public class LaneMarkTools {
{
Panel_Image_Scale = scale;
PANEL_IMAGE_WIDTH = (int) (screenWidth/4.0 * Panel_Image_Scale);
PANEL_IMAGE_HEIGHT = (int) (screenHeight/3.0 * Panel_Image_Scale);
PANEL_IMAGE_WIDTH = (int) (screenWidth/4 * Panel_Image_Scale);
PANEL_IMAGE_HEIGHT = (int) (screenHeight/3 * Panel_Image_Scale);
LANE_PANELBORDER_MARGIN = (int) (5 * Panel_Image_Scale);
LANE_PANELBORDER_RADIAN = (int) (10 * Panel_Image_Scale);
@@ -154,12 +154,12 @@ public class LaneMarkTools {
paint.setColor(Color.GREEN);
paint.setAntiAlias(true);
Path path = new Path();
path.moveTo(ARROW_IMAGE_WIDTH / 2.0f, 0);
path.lineTo(ARROW_IMAGE_WIDTH, ARROW_IMAGE_HEIGHT / 2.0f);
path.lineTo(ARROW_IMAGE_WIDTH, ARROW_IMAGE_HEIGHT / 2.0f + ARROW_THICKNESS);
path.lineTo(ARROW_IMAGE_WIDTH / 2.0f, ARROW_THICKNESS);
path.lineTo(0, ARROW_IMAGE_HEIGHT / 2.0f + ARROW_THICKNESS);
path.lineTo(0, ARROW_IMAGE_HEIGHT / 2.0f);
path.moveTo(ARROW_IMAGE_WIDTH / 2, 0);
path.lineTo(ARROW_IMAGE_WIDTH, ARROW_IMAGE_HEIGHT / 2);
path.lineTo(ARROW_IMAGE_WIDTH, ARROW_IMAGE_HEIGHT / 2 + ARROW_THICKNESS);
path.lineTo(ARROW_IMAGE_WIDTH / 2, ARROW_THICKNESS);
path.lineTo(0, ARROW_IMAGE_HEIGHT / 2 + ARROW_THICKNESS);
path.lineTo(0, ARROW_IMAGE_HEIGHT / 2);
path.close();
canvas.drawPath(path, paint);
BitmapInfo info = new BitmapInfo();
@@ -186,7 +186,7 @@ public class LaneMarkTools {
paint.setColor(Color.GREEN);
paint.setAntiAlias(true);
Path path = new Path();
path.moveTo(TRIANGLE_IMAGE_WIDTH / 2.0f, 0);
path.moveTo(TRIANGLE_IMAGE_WIDTH / 2, 0);
path.lineTo(TRIANGLE_IMAGE_WIDTH, TRIANGLE_IMAGE_HEIGHT);
path.lineTo(0, TRIANGLE_IMAGE_HEIGHT);
path.close();
@@ -289,8 +289,8 @@ public class LaneMarkTools {
paint.setStyle(Style.STROKE);
paint.setStrokeWidth(ARC_GOTO_SECTION_WIDTH);
paint.setAntiAlias(true);
float arcGotoSectionPositionX = (LANE_WIDTH - ARC_RADIUS * 2.0f) / 2.0f;
float arcGotoSectionPositionY = LANE_HEIGHT / 3.0f;
float arcGotoSectionPositionX = (LANE_WIDTH - ARC_RADIUS * 2) / 2;
float arcGotoSectionPositionY = LANE_HEIGHT / 3;
canvas.drawLine(arcGotoSectionPositionX, arcGotoSectionPositionY,
arcGotoSectionPositionX, arcGotoSectionPositionY + ARC_INTO_SECTION_HEIGHT,
paint);
@@ -320,14 +320,14 @@ public class LaneMarkTools {
paint.setStrokeWidth(ARC_GOTO_SECTION_WIDTH);
paint.setAntiAlias(true);
float arcGotoSectionPositionX = (LANE_WIDTH - ARC_RADIUS * 2.0f) / 2.0f;
float arcGotoSectionPositionY = LANE_HEIGHT / 3.0f;
float arcGotoSectionPositionX = (LANE_WIDTH - ARC_RADIUS * 2) / 2;
float arcGotoSectionPositionY = LANE_HEIGHT / 3;
canvas.drawLine(arcGotoSectionPositionX, arcGotoSectionPositionY,
arcGotoSectionPositionX, arcGotoSectionPositionY + ARC_GOTO_SECTION_HEIGHT,
paint);
float arcIntoSectionPositionX = arcGotoSectionPositionX + ARC_RADIUS * 2;
float arcIntoSectionPositionY = LANE_HEIGHT / 3.0f;
float arcIntoSectionPositionY = LANE_HEIGHT / 3;
canvas.drawLine(arcIntoSectionPositionX, arcIntoSectionPositionY,
arcIntoSectionPositionX, arcIntoSectionPositionY + ARC_INTO_SECTION_HEIGHT,
paint);
@@ -348,7 +348,7 @@ public class LaneMarkTools {
canvas.save();
canvas.translate(translationX, translationY);
canvas.rotate(180);
canvas.drawBitmap(arrowImage, -(arrowImage.getWidth() / 2.0f),0, paint);
canvas.drawBitmap(arrowImage, -(arrowImage.getWidth() / 2),0, paint);
canvas.restore();
BitmapInfo info = new BitmapInfo();
@@ -378,7 +378,7 @@ public class LaneMarkTools {
paint.setStrokeWidth(STRAIGHT_SECTION_WIDTH);
paint.setAntiAlias(true);
Bitmap arrowImage = getRenderArrowImage(isW != AHEAD_BIT_MASK).bitmap;
Bitmap arrowImage = getRenderArrowImage(isW == AHEAD_BIT_MASK ? false : true).bitmap;
int arrowPositionX = (LANE_WIDTH - arrowImage.getWidth()) / 2;
int arrowPositionY = (LANE_HEIGHT - ARROW_THICKNESS - STRAIGHT_SECTION_HEIGHT) / 2;
canvas.drawBitmap(arrowImage, arrowPositionX, arrowPositionY, paint);
@@ -429,13 +429,13 @@ public class LaneMarkTools {
canvas.drawPath(path, paint);
Bitmap arrowImage = getRenderArrowImage(isW != LEFT_TWO_BIT_MASK).bitmap;
Bitmap arrowImage = getRenderArrowImage(isW == LEFT_TWO_BIT_MASK ? false : true).bitmap;
int translationX = endX - ARROW_THICKNESS;
int translationY = endY;
canvas.save();
canvas.translate(translationX, translationY);
canvas.rotate(-90);
canvas.drawBitmap(arrowImage, -(arrowImage.getWidth() / 2.0f), 0, paint);
canvas.drawBitmap(arrowImage, -(arrowImage.getWidth() / 2), 0, paint);
canvas.restore();
BitmapInfo info = new BitmapInfo();
@@ -479,13 +479,13 @@ public class LaneMarkTools {
canvas.drawPath(path, paint);
Bitmap arrowImage = getRenderArrowImage(isW != RIGHT_TWO_BIT_MASK).bitmap;
Bitmap arrowImage = getRenderArrowImage(isW == RIGHT_TWO_BIT_MASK ? false : true).bitmap;
int translationX = endX + ARROW_THICKNESS;
int translationY = endY;
canvas.save();
canvas.translate(translationX, translationY);
canvas.rotate(90);
canvas.drawBitmap(arrowImage, -(arrowImage.getWidth() / 2.0f), 0, paint);
canvas.drawBitmap(arrowImage, -(arrowImage.getWidth() / 2), 0, paint);
canvas.restore();
BitmapInfo info = new BitmapInfo();
@@ -707,8 +707,8 @@ public class LaneMarkTools {
paint.setStrokeWidth(RIGHT_TURN_VERTICAL_SECTION_WIDTH);
paint.setAntiAlias(true);
float startX = LANE_WIDTH / 3.0f;
float startY = LANE_HEIGHT - LANE_HEIGHT / 4.0f;
float startX = LANE_WIDTH / 3;
float startY = LANE_HEIGHT - LANE_HEIGHT / 4;
float endX = startX;
float endY = startY - RIGHT_TURN_VERTICAL_SECTION_HEIGHT;
@@ -717,20 +717,20 @@ public class LaneMarkTools {
paint.setStyle(Style.FILL);
Path path = new Path();
path.moveTo(endX - RIGHT_TURN_VERTICAL_SECTION_WIDTH / 2.0f, endY);
path.lineTo(endX - RIGHT_TURN_VERTICAL_SECTION_WIDTH / 2.0f, endY + RIGHT_FRONT_TURN_SLOPE_THICKNESS);
path.lineTo(endX - RIGHT_TURN_VERTICAL_SECTION_WIDTH / 2.0f + RIGHT_FRONT_TURN_SLOPE_WIDTH, endY);
path.lineTo(endX - RIGHT_TURN_VERTICAL_SECTION_WIDTH / 2.0f + RIGHT_FRONT_TURN_SLOPE_WIDTH, endY - RIGHT_FRONT_TURN_SLOPE_THICKNESS);
path.moveTo(endX - RIGHT_TURN_VERTICAL_SECTION_WIDTH / 2, endY);
path.lineTo(endX - RIGHT_TURN_VERTICAL_SECTION_WIDTH / 2, endY + RIGHT_FRONT_TURN_SLOPE_THICKNESS);
path.lineTo(endX - RIGHT_TURN_VERTICAL_SECTION_WIDTH / 2 + RIGHT_FRONT_TURN_SLOPE_WIDTH, endY);
path.lineTo(endX - RIGHT_TURN_VERTICAL_SECTION_WIDTH / 2 + RIGHT_FRONT_TURN_SLOPE_WIDTH, endY - RIGHT_FRONT_TURN_SLOPE_THICKNESS);
canvas.drawPath(path, paint);
Bitmap triangleImage = getRenderTriangleImage(isW).bitmap;
float translationX = endX - RIGHT_TURN_VERTICAL_SECTION_WIDTH / 2.0f + RIGHT_FRONT_TURN_SLOPE_WIDTH + TRIANGLE_IMAGE_HEIGHT;
float translationY = endY - RIGHT_FRONT_TURN_SLOPE_THICKNESS / 2.0f;
float translationX = endX - RIGHT_TURN_VERTICAL_SECTION_WIDTH / 2 + RIGHT_FRONT_TURN_SLOPE_WIDTH + TRIANGLE_IMAGE_HEIGHT;
float translationY = endY - RIGHT_FRONT_TURN_SLOPE_THICKNESS / 2;
canvas.save();
canvas.translate(translationX, translationY);
canvas.rotate(90);
canvas.drawBitmap(triangleImage, -(triangleImage.getWidth() / 2.0f), 0, paint);
canvas.drawBitmap(triangleImage, -(triangleImage.getWidth() / 2), 0, paint);
canvas.restore();
BitmapInfo info = new BitmapInfo();
@@ -769,10 +769,10 @@ public class LaneMarkTools {
paint.setStyle(Style.FILL);
Path path = new Path();
path.moveTo(endX + LEFT_TURN_VERTICAL_SECTION_WIDTH / 2.0f, endY);
path.lineTo(endX + LEFT_TURN_VERTICAL_SECTION_WIDTH / 2.0f, endY + LEFT_FRONT_TURN_SLOPE_THICKNESS);
path.lineTo(endX + LEFT_TURN_VERTICAL_SECTION_WIDTH / 2.0f - LEFT_FRONT_TURN_SLOPE_WIDTH, endY);
path.lineTo(endX + LEFT_TURN_VERTICAL_SECTION_WIDTH / 2.0f - LEFT_FRONT_TURN_SLOPE_WIDTH, endY - LEFT_FRONT_TURN_SLOPE_THICKNESS);
path.moveTo(endX + LEFT_TURN_VERTICAL_SECTION_WIDTH / 2, endY);
path.lineTo(endX + LEFT_TURN_VERTICAL_SECTION_WIDTH / 2, endY + LEFT_FRONT_TURN_SLOPE_THICKNESS);
path.lineTo(endX + LEFT_TURN_VERTICAL_SECTION_WIDTH / 2 - LEFT_FRONT_TURN_SLOPE_WIDTH, endY);
path.lineTo(endX + LEFT_TURN_VERTICAL_SECTION_WIDTH / 2 - LEFT_FRONT_TURN_SLOPE_WIDTH, endY - LEFT_FRONT_TURN_SLOPE_THICKNESS);
canvas.drawPath(path, paint);
@@ -782,7 +782,7 @@ public class LaneMarkTools {
canvas.save();
canvas.translate(translationX, translationY);
canvas.rotate(-90);
canvas.drawBitmap(triangleImage, -(triangleImage.getWidth() / 2.0f), 0, paint);
canvas.drawBitmap(triangleImage, -(triangleImage.getWidth() / 2), 0, paint);
canvas.restore();
BitmapInfo info = new BitmapInfo();
info.bitmap = bitmap;
@@ -807,8 +807,8 @@ public class LaneMarkTools {
paint.setStrokeWidth(LEFT_TURN_VERTICAL_SECTION_WIDTH);
paint.setAntiAlias(true);
Bitmap leftFrontTurnLaneArrow = getRenderLeftFrontTurnLaneArrow(isW != LEFT_TWO_BIT_MASK).bitmap;
Bitmap UTurnLaneArrow = getRenderUTurnLaneArrow(isW != UTURN_BIT_MASK).bitmap;
Bitmap leftFrontTurnLaneArrow = getRenderLeftFrontTurnLaneArrow(isW == LEFT_TWO_BIT_MASK?false : true).bitmap;
Bitmap UTurnLaneArrow = getRenderUTurnLaneArrow(isW == UTURN_BIT_MASK?false : true).bitmap;
int translationX = 0;
int translationY = LANE_HEIGHT / 4;
@@ -864,8 +864,8 @@ public class LaneMarkTools {
Bitmap bitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Bitmap UTurnLaneArrow = getRenderUTurnLaneArrow(isW != UTURN_BIT_MASK).bitmap;
Bitmap rightFrontTurnLaneArrow = getRenderRightFrontTurnLaneArrow(isW != RIGHT_TWO_BIT_MASK).bitmap;
Bitmap UTurnLaneArrow = getRenderUTurnLaneArrow(isW == UTURN_BIT_MASK ? false : true).bitmap;
Bitmap rightFrontTurnLaneArrow = getRenderRightFrontTurnLaneArrow(isW == RIGHT_TWO_BIT_MASK ? false : true).bitmap;
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStyle(Style.STROKE);
@@ -873,7 +873,7 @@ public class LaneMarkTools {
paint.setAntiAlias(true);
float translationX = -ARC_RADIUS;
float translationY = LANE_HEIGHT / 4.0f;
float translationY = LANE_HEIGHT / 4;
canvas.save();
if(isW != UTURN_BIT_MASK)
{
@@ -884,8 +884,8 @@ public class LaneMarkTools {
if(isW != RIGHT_TWO_BIT_MASK)
{
translationX = RIGHT_FRONT_TURN_SLOPE_WIDTH / 2.0f;
translationY = -(LANE_HEIGHT / 8.0f);
translationX = RIGHT_FRONT_TURN_SLOPE_WIDTH / 2;
translationY = -(LANE_HEIGHT / 8);
canvas.translate(translationX, translationY);
canvas.drawBitmap(rightFrontTurnLaneArrow, 0, 0, paint);
canvas.translate(-translationX, -translationY);
@@ -894,15 +894,15 @@ public class LaneMarkTools {
if(isW == UTURN_BIT_MASK)
{
translationX = -ARC_RADIUS;
translationY = LANE_HEIGHT / 4.0f;
translationY = LANE_HEIGHT / 4;
canvas.translate(translationX, translationY);
canvas.drawBitmap(UTurnLaneArrow, 0, 0, paint);
canvas.translate(-translationX, -translationY);
}
else if(isW == RIGHT_TWO_BIT_MASK)
{
translationX = RIGHT_FRONT_TURN_SLOPE_WIDTH / 2.0f;
translationY = -(LANE_HEIGHT / 8.0f);
translationX = RIGHT_FRONT_TURN_SLOPE_WIDTH / 2;
translationY = -(LANE_HEIGHT / 8);
canvas.translate(translationX, translationY);
canvas.drawBitmap(rightFrontTurnLaneArrow, 0, 0, paint);
canvas.translate(-translationX, -translationY);
@@ -918,7 +918,7 @@ public class LaneMarkTools {
return info;
}
//直行 + 左转 + 右转
//直行 + 左转 + 右转ֱ<EFBFBD><EFBFBD> + <20><>ת + <20><>ת
public BitmapInfo getRenderStraightAddLeftRightTurnLaneArrow(int isW)
{
int width = LANE_WIDTH;
@@ -934,8 +934,8 @@ public class LaneMarkTools {
paint.setAntiAlias(true);
Bitmap straightLaneArrow = getRenderStraightLaneArrow(isW).bitmap;
Bitmap leftFrontTurnArrow = getRenderLeftFrontTurnLaneArrow(isW != LEFT_TWO_BIT_MASK).bitmap;
Bitmap RightFrontTurnArrow = getRenderRightFrontTurnLaneArrow(isW != RIGHT_TWO_BIT_MASK).bitmap;
Bitmap leftFrontTurnArrow = getRenderLeftFrontTurnLaneArrow(isW == LEFT_TWO_BIT_MASK ? false : true).bitmap;
Bitmap RightFrontTurnArrow = getRenderRightFrontTurnLaneArrow(isW == RIGHT_TWO_BIT_MASK ? false : true).bitmap;
int translationX = -(LEFT_FRONT_TURN_SLOPE_WIDTH / 2);
int translationY = LANE_HEIGHT / 6;
canvas.save();
@@ -1015,7 +1015,7 @@ public class LaneMarkTools {
paint.setAntiAlias(true);
Bitmap straightLaneArrow = getRenderStraightLaneArrow(type).bitmap;
Bitmap UTurnLaneArrow = getRenderUTurnLaneArrow(type != UTURN_BIT_MASK).bitmap;
Bitmap UTurnLaneArrow = getRenderUTurnLaneArrow(type == UTURN_BIT_MASK ? false : true).bitmap;
int translationX = -ARC_RADIUS;
int translationY = LANE_HEIGHT / 4;
@@ -1228,7 +1228,7 @@ public class LaneMarkTools {
}else if(mark.isUTurn)
{
//获取 "调头" 车道箭头图元
bitmap = getRenderUTurnLaneArrow(highType != UTURN_BIT_MASK);
bitmap = getRenderUTurnLaneArrow(highType == UTURN_BIT_MASK ? false : true);
}
return bitmap;

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)
}