[map-sdk] 同步地图SDK 3.4.0.1
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user