[base_3.4.0-map-sdk]
This commit is contained in:
@@ -40,7 +40,6 @@ import com.mogo.eagle.core.function.call.map.CallerMapDataCollectorManager;
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapDevaListenerManager;
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapRoadListenerManager;
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapRomaListener;
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapStyleListenerManager;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
@@ -112,7 +111,7 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
.naviCursorRes(R.drawable.ic_amap_navi_cursor)
|
||||
.build();
|
||||
private CarCursorOption mCarCursorOption = DEFAULT_OPTION;
|
||||
private EnumMapUI mCurrentUI = EnumMapUI.MAP_STYLE_NIGHT_VR;
|
||||
private volatile EnumMapUI mCurrentUI = EnumMapUI.MAP_STYLE_NIGHT_VR;
|
||||
private VisualAngleMode mVisualAngleMode = MODE_MEDIUM_SIGHT;
|
||||
|
||||
private IHdCacheListener hdCacheListener;
|
||||
@@ -154,6 +153,21 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
|
||||
}
|
||||
|
||||
private void initListeners() {
|
||||
mMapView.setOnMarkClickListener(this);
|
||||
mMapView.setOnMapLoadedListener(this);
|
||||
mMapView.setOnMapTouchListener(this);
|
||||
mMapView.setOnMapClickListener(this);
|
||||
mMapView.setOnCameraChangeListener(this);
|
||||
mMapView.setOnMapStyleListener(this);
|
||||
mMapView.setOnRoamStatusListener(this);
|
||||
mMapView.setOnMapViewVisualAngleChangeListener(this);
|
||||
mMapView.setOnRoadInfoListener(this, 1);
|
||||
//todo 多实例改造
|
||||
MapAutoApi.INSTANCE.registerLogListener(this, mMapView.getEventController());
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "styleop - initListeners - setOnMapStyleListener - view " + mMapView);
|
||||
}
|
||||
|
||||
private void initMapView() {
|
||||
if (mMapView == null) {
|
||||
return;
|
||||
@@ -176,21 +190,73 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
});
|
||||
}
|
||||
|
||||
private void initListeners() {
|
||||
mMapView.setOnMarkClickListener(this);
|
||||
mMapView.setOnMapLoadedListener(this);
|
||||
mMapView.setOnMapTouchListener(this);
|
||||
mMapView.setOnMapClickListener(this);
|
||||
mMapView.registerListener(this, MapAutoApi.LISTENER_TYPE_ZOOM);
|
||||
mMapView.registerListener(this, MapAutoApi.LISTENER_TYPE_ROTATE);
|
||||
mMapView.registerListener(this, MapAutoApi.LISTENER_TYPE_3D);
|
||||
mMapView.setOnCameraChangeListener(this);
|
||||
mMapView.setOnMapStyleListener(this);
|
||||
mMapView.setOnRoamStatusListener(this);
|
||||
mMapView.setOnMapViewVisualAngleChangeListener(this);
|
||||
mMapView.setOnRoadInfoListener(this, 1);
|
||||
MapAutoApi.INSTANCE.registerLogListener(this, mMapView.getEventController());
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "styleop - initListeners - setOnMapStyleListener - view " + mMapView);
|
||||
private Context getContext() {
|
||||
return mMapView.getContext();
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getMapView() {
|
||||
return mMapView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoMap getMap() {
|
||||
return mIMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle bundle) {
|
||||
if (mMapView != null) {
|
||||
mMapView.onCreate(bundle);
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "map onCreate");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
if (mMapView != null) {
|
||||
mMapView.onResume();
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "map onResume");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
if (mMapView != null) {
|
||||
mMapView.onPause();
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "map onPause");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
if (mMapView != null) {
|
||||
mMapView.onDestroy();
|
||||
mMapView.setOnMarkClickListener(null);
|
||||
mMapView.setOnMapLoadedListener(null);
|
||||
mMapView.setOnMapTouchListener(null);
|
||||
mMapView.setOnMapClickListener(null);
|
||||
mMapView.setOnCameraChangeListener(null);
|
||||
mMapView.setOnMapStyleListener(null);
|
||||
mMapView.setOnMapViewVisualAngleChangeListener(null);
|
||||
//todo 多实例改造
|
||||
MapAutoApi.INSTANCE.unregisterLogListener(this, mMapView.getEventController());
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "map onDestroy");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSaveInstanceState(Bundle outState) {
|
||||
if (mMapView != null) {
|
||||
mMapView.onSaveInstanceState(outState);
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "map onSaveInstanceState");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLowMemory() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -260,73 +326,6 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
private Context getContext() {
|
||||
return mMapView.getContext();
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getMapView() {
|
||||
return mMapView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoMap getMap() {
|
||||
return mIMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle bundle) {
|
||||
if (mMapView != null) {
|
||||
mMapView.onCreate(bundle);
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "map onCreate");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
if (mMapView != null) {
|
||||
mMapView.onResume();
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "map onResume");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
if (mMapView != null) {
|
||||
mMapView.onPause();
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "map onPause");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
if (mMapView != null) {
|
||||
mMapView.onDestroy();
|
||||
mMapView.setOnMarkClickListener(null);
|
||||
mMapView.setOnMapLoadedListener(null);
|
||||
mMapView.setOnMapTouchListener(null);
|
||||
mMapView.setOnMapClickListener(null);
|
||||
mMapView.setOnCameraChangeListener(null);
|
||||
MapAutoApi.INSTANCE.unregisterLogListener(this, mMapView.getEventController());
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "map onDestroy");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSaveInstanceState(Bundle outState) {
|
||||
if (mMapView != null) {
|
||||
mMapView.onSaveInstanceState(outState);
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "map onSaveInstanceState");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLowMemory() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public MapControlResult changeZoom(float zoom) {
|
||||
if (isVrMold()) {
|
||||
@@ -339,18 +338,10 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
|
||||
@Override
|
||||
public void changeZoom2(float zoom) {
|
||||
// if (isVrMold()) {
|
||||
// return;
|
||||
// }
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "changeZoom2 : " + zoom);
|
||||
getMap().changeZoom2(zoom);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDebugMode(Boolean debugMode) {
|
||||
MapAutoApi.INSTANCE.setDebugMode(debugMode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void changeMapVisualAngle(VisualAngleMode angelMode, MogoLatLng mogoLatLng) {
|
||||
MapAutoViewHelper mapAutoViewHelper = mMapView.getMapAutoViewHelper();
|
||||
@@ -679,21 +670,11 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getTileId(double lon, double lat) {
|
||||
return getMap().getUIController().getTileId(lon, lat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void result(@NonNull String filePath) {
|
||||
CallerMapDevaListenerManager.INSTANCE.invokeUploadLogFile(filePath);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapClick(@Nullable LonLatPoint lonLatPoint) {
|
||||
MogoMapListenerHandler.Companion.getMogoMapListenerHandler().onMapClick(ObjectUtils.fromAMap(lonLatPoint));
|
||||
}
|
||||
|
||||
//渲染第一帧
|
||||
@ChainLog(
|
||||
linkChainLog = CHAIN_TYPE_INIT_STATUS,
|
||||
@@ -728,10 +709,6 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRoadLoaded(@Nullable String s) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onTouch(@Nullable MotionEvent motionEvent) {
|
||||
MogoMapListenerHandler.Companion.getMogoMapListenerHandler().onTouch(motionEvent);
|
||||
@@ -739,13 +716,8 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMarkClick(@NotNull Marker markerInfo) {
|
||||
// mMarkerClickHandler.handleMarkerClicked(markerInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRoamStatus(int status, @NonNull String msg) {
|
||||
CallerMapRomaListener.INSTANCE.invokeMapRomaStatus(status, msg);
|
||||
public void onMapClick(@Nullable LonLatPoint lonLatPoint) {
|
||||
MogoMapListenerHandler.Companion.getMogoMapListenerHandler().onMapClick(ObjectUtils.fromAMap(lonLatPoint));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -755,12 +727,6 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
MogoMapListenerHandler.Companion.getMogoMapListenerHandler().onMapVisualAngleChanged(mVisualAngleMode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前视距类型
|
||||
*
|
||||
* @param mode 当前类型
|
||||
* @return 当前类型
|
||||
*/
|
||||
private VisualAngleMode getVisualAngleMode(int mode) {
|
||||
switch (mode) {
|
||||
case 0:
|
||||
@@ -798,7 +764,7 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
|
||||
@Override
|
||||
public void onChangeMapStyle(int styleId) {
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "currentMapStyle = " + styleId);
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "currentMapStyle = " + styleId + " , current = " + mCurrentUI);
|
||||
// 映射地图样式ID到鹰眼样式ID
|
||||
if (styleId == MapAutoApi.MAP_STYLE_DAY
|
||||
|| styleId == MapAutoApi.MAP_STYLE_DAY_NAV) {
|
||||
@@ -818,9 +784,7 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
if (mCurrentUI != null) {
|
||||
UiThreadHandler.post(() -> {
|
||||
try {
|
||||
CallerLogger.INSTANCE.d(M_MAP + TAG, "currentUI = " + mCurrentUI);
|
||||
MogoMapListenerHandler.Companion.getMogoMapListenerHandler().onMapModeChanged(mCurrentUI);
|
||||
CallerMapStyleListenerManager.INSTANCE.invokeMapStyleChange(styleId);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -828,6 +792,16 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMarkClick(@NotNull Marker markerInfo) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRoamStatus(int status, @NonNull String msg) {
|
||||
CallerMapRomaListener.INSTANCE.invokeMapRomaStatus(status, msg);
|
||||
}
|
||||
|
||||
|
||||
// 是否使用RTK数据
|
||||
private boolean mRtkEnable = false;
|
||||
|
||||
@@ -880,12 +854,6 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getAngle(double startLon, double startLat, double endLon, double endLat) {
|
||||
return MapAutoApi.INSTANCE.getAngle(startLon, startLat, endLon, endLat);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 加载3D模型
|
||||
*/
|
||||
@@ -1005,6 +973,7 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
PointCloudHelper.INSTANCE.setPointCloudColor(color, mMapView.getMapController());
|
||||
}
|
||||
|
||||
//todo 多实例改造
|
||||
@Override
|
||||
public void cacheHDDataByCity(IHdCacheListener listener) {
|
||||
if (mMapView.getMapAutoViewHelper() != null) {
|
||||
@@ -1048,6 +1017,7 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
}
|
||||
}
|
||||
|
||||
//todo 多实例改造
|
||||
@Override
|
||||
public void cacheHDDataByCity(IHdCacheListener listener, MogoLocation location) {
|
||||
if (mMapView.getMapAutoViewHelper() != null) {
|
||||
@@ -1095,14 +1065,11 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
Integer id = HDMapUtils.getHDCityCode(gdCityCode);
|
||||
if (id != null) {
|
||||
//TODO 回调改造
|
||||
mMapView.getMapAutoViewHelper().getAllCityCode(new IResult<ArrayList<CityInfo>>() {
|
||||
@Override
|
||||
public void result(int code, @androidx.annotation.Nullable ArrayList<CityInfo> cityInfoList) {
|
||||
if (cityInfoList != null) {
|
||||
for (CityInfo cityInfo : cityInfoList) {
|
||||
if (id == cityInfo.getCityCode()) {
|
||||
mMapView.getMapAutoViewHelper().getAllCityCode((code, cityInfoList) -> {
|
||||
if (cityInfoList != null) {
|
||||
for (CityInfo cityInfo : cityInfoList) {
|
||||
if (id == cityInfo.getCityCode()) {
|
||||
// return cityInfo.isCache();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1138,4 +1105,9 @@ public class AMapViewWrapper implements IMogoMapView, //地图实例和接口操
|
||||
mMapView.getMapAutoViewHelper().animateTo(lon, lat, v1, v2, v3, v4, duration, isGps);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRoadLoaded(@androidx.annotation.Nullable String roadInfo) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,6 @@ public class AMapWrapper implements IMogoMap {
|
||||
|
||||
private static final String TAG = "AMapWrapper";
|
||||
|
||||
private static MapAutoViewHelper sAMap;
|
||||
private final IMogoMapUIController mMapUIController;
|
||||
private MapAutoViewHelper mAMap;
|
||||
private final MapAutoView mMapView;
|
||||
@@ -48,7 +47,6 @@ public class AMapWrapper implements IMogoMap {
|
||||
public AMapWrapper(MapAutoViewHelper map, MapAutoView mapView, IMogoMapUIController controller) {
|
||||
CallerLogger.INSTANCE.i(TAG, "autoop--AMapWrapper: init" + this);
|
||||
this.mAMap = map;
|
||||
sAMap = map;
|
||||
this.mMapView = mapView;
|
||||
mMapUIController = controller;
|
||||
// 设置实现自定义 info window
|
||||
@@ -56,10 +54,6 @@ public class AMapWrapper implements IMogoMap {
|
||||
AMapUIController.getInstance().initClient(mMapUIController);
|
||||
}
|
||||
|
||||
public static MapAutoViewHelper getAMap() {
|
||||
return sAMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoUiSettings getUiSettings() {
|
||||
if (!checkAMap()) {
|
||||
@@ -260,7 +254,6 @@ public class AMapWrapper implements IMogoMap {
|
||||
|
||||
private boolean checkAMap() {
|
||||
mAMap = mMapView.getMapAutoViewHelper();
|
||||
sAMap = mAMap;
|
||||
if (mAMap == null) {
|
||||
CallerLogger.INSTANCE.e(TAG, "自研map实例为空,请检查");
|
||||
return false;
|
||||
@@ -271,11 +264,13 @@ public class AMapWrapper implements IMogoMap {
|
||||
@Override
|
||||
public float getRoadWidth(double lon, double lat, float angle, boolean isGpsLocation, boolean isRTK) {
|
||||
SinglePointRoadInfo singlePointRoadInfo = MapDataApi.INSTANCE.getSinglePointMatchRoad(lon, lat, angle, isGpsLocation, isRTK);
|
||||
|
||||
return singlePointRoadInfo != null ? singlePointRoadInfo.getLaneWidth() : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CenterLine getCenterLineRangeInfo(double lon, double lat, float angle, float distance) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public RoadNameInfo getRoadName(double lon, double lat, float angle) {
|
||||
@@ -287,5 +282,4 @@ public class AMapWrapper implements IMogoMap {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.mogo.map
|
||||
import android.util.Pair
|
||||
import com.mogo.eagle.core.data.map.CenterLine
|
||||
import com.mogo.map.utils.ObjectUtils
|
||||
import com.zhidaoauto.map.sdk.open.MapAutoApi
|
||||
import com.zhidaoauto.map.sdk.open.abs.IResult
|
||||
import com.zhidaoauto.map.sdk.open.data.MapDataApi
|
||||
import com.zhidaoauto.map.sdk.open.road.RoadRectInfos
|
||||
@@ -13,6 +14,13 @@ import com.zhidaoauto.map.sdk.open.routeinfo.RoadInfo
|
||||
*/
|
||||
object MapDataWrapper {
|
||||
|
||||
/**
|
||||
* 设置debug模式
|
||||
*/
|
||||
fun setDebugMode(debugMode: Boolean) {
|
||||
MapAutoApi.setDebugMode(debugMode)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取车道中心线数据
|
||||
* @param lon 经度
|
||||
@@ -21,7 +29,7 @@ object MapDataWrapper {
|
||||
* @param call 回调
|
||||
*/
|
||||
@Synchronized
|
||||
fun getCenterLineInfo(lon: Double, lat: Double, angle: Float,call:IResult<CenterLine>){
|
||||
fun getCenterLineInfo(lon: Double, lat: Double, angle: Float,call:((Int, CenterLine?) -> Unit)){
|
||||
MapDataApi.getCenterLineInfo(
|
||||
lon,
|
||||
lat,
|
||||
@@ -31,42 +39,11 @@ object MapDataWrapper {
|
||||
code: Int,
|
||||
result: com.zhidaoauto.map.sdk.open.road.CenterLine?
|
||||
) {
|
||||
call.result(0,ObjectUtils.transformCenterLine(result))
|
||||
call.invoke(0,ObjectUtils.transformCenterLine(result))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取车道限速
|
||||
* @param lon 经度
|
||||
* @param lat 纬度
|
||||
* @param angle 角度
|
||||
* @param call 回调
|
||||
*/
|
||||
fun getLimitSpeed(lon: Double, lat: Double, angle: Float,call : IResult<Int>) {
|
||||
MapDataApi.getLimitSpeed(lon, lat, angle, object : IResult<RoadInfo> {
|
||||
override fun result(code: Int, result: RoadInfo?) {
|
||||
call.result(code,result?.speed?:0)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取道路角度
|
||||
* @param lon 经度
|
||||
* @param lat 纬度
|
||||
* @param angle 角度
|
||||
* @param call 回调
|
||||
*/
|
||||
fun getRoadAngle(lon: Double, lat: Double, angle: Float,call : IResult<Double>) {
|
||||
MapDataApi.getRoadRectInfo(lon, lat, angle, object : IResult<RoadRectInfos> {
|
||||
override fun result(code: Int, result: RoadRectInfos?) {
|
||||
call.result(code,result?.angle?:0.0)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 按距离获取道路数据
|
||||
* @param lon 经度
|
||||
@@ -79,10 +56,9 @@ object MapDataWrapper {
|
||||
lat: Double,
|
||||
angle: Float,
|
||||
distance: Float,
|
||||
call:IResult<com.mogo.map.center.CenterLine>
|
||||
call:((Int,com.mogo.map.center.CenterLine?) -> Unit)
|
||||
) {
|
||||
try {
|
||||
|
||||
MapDataApi.getCenterLineRangeInfo(
|
||||
lon,
|
||||
lat,
|
||||
@@ -104,7 +80,7 @@ object MapDataWrapper {
|
||||
info.angle?:0.0
|
||||
)
|
||||
}
|
||||
call.result(code,ret)
|
||||
call.invoke(code,ret)
|
||||
}
|
||||
})
|
||||
} catch (t: Throwable) {
|
||||
@@ -123,4 +99,54 @@ object MapDataWrapper {
|
||||
return ret
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取车道限速
|
||||
* @param lon 经度
|
||||
* @param lat 纬度
|
||||
* @param angle 角度
|
||||
* @param call 回调
|
||||
*/
|
||||
fun getLimitSpeed(lon: Double, lat: Double, angle: Float,call : ((Int) -> Unit)) {
|
||||
MapDataApi.getLimitSpeed(lon, lat, angle, object : IResult<RoadInfo> {
|
||||
override fun result(code: Int, result: RoadInfo?) {
|
||||
call.invoke(result?.speed?:0)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取道路角度
|
||||
* @param lon 经度
|
||||
* @param lat 纬度
|
||||
* @param angle 角度
|
||||
* @param call 回调
|
||||
*/
|
||||
fun getRoadAngle(lon: Double, lat: Double, angle: Float,call : IResult<Double>) {
|
||||
MapDataApi.getRoadRectInfo(lon, lat, angle, object : IResult<RoadRectInfos> {
|
||||
override fun result(code: Int, result: RoadRectInfos?) {
|
||||
call.result(code,result?.angle?:0.0)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取行车方向
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
fun getAngle(startLon: Double, startLat: Double, endLon: Double, endLat: Double): Float {
|
||||
return MapAutoApi.getAngle(startLon, startLat, endLon, endLat)
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取瓦片id
|
||||
*
|
||||
* @param lon 经度
|
||||
* @param lat 纬度
|
||||
* @return 瓦片id
|
||||
*/
|
||||
fun getTileId(lon: Double, lat: Double): Long {
|
||||
return MapAutoApi.getTileID(lon, lat, 13) // 13为默认获取瓦片层级级别
|
||||
}
|
||||
|
||||
}
|
||||
@@ -76,14 +76,6 @@ public class MogoMapUIController implements IMogoMapUIController {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDebugMode(Boolean debugMode) {
|
||||
initDelegate();
|
||||
if (mDelegate != null) {
|
||||
mDelegate.setDebugMode(debugMode);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void changeMapVisualAngle(VisualAngleMode angelMode, MogoLatLng mogoLatLng) {
|
||||
initDelegate();
|
||||
@@ -326,30 +318,6 @@ public class MogoMapUIController implements IMogoMapUIController {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getTileId(double lon, double lat) {
|
||||
if (mDelegate != null) {
|
||||
return mDelegate.getTileId(lon, lat);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLimitSpeed(double lon, double lat, float angle) {
|
||||
if (mDelegate != null) {
|
||||
return mDelegate.getLimitSpeed(lon, lat, angle);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CenterLine getCenterLineInfo(double lon, double lat, float angle) {
|
||||
if (mDelegate != null) {
|
||||
return mDelegate.getCenterLineInfo(lon, lat, angle);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void rtkEnable(boolean enable) {
|
||||
initDelegate();
|
||||
@@ -396,23 +364,6 @@ public class MogoMapUIController implements IMogoMapUIController {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getAngle(double startLon, double startLat, double endLon, double endLat) {
|
||||
initDelegate();
|
||||
if (mDelegate != null) {
|
||||
return mDelegate.getAngle(startLon, startLat, endLon, endLat);
|
||||
}
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double getRoadAngle(Double lon, Double lat, float angle) {
|
||||
if (mDelegate != null) {
|
||||
return mDelegate.getRoadAngle(lon, lat, angle);
|
||||
}
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLockMode(boolean isLock) {
|
||||
initDelegate();
|
||||
|
||||
@@ -63,13 +63,6 @@ public class AMapUIController implements IMogoMapUIController {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDebugMode(Boolean debugMode) {
|
||||
if (mClient != null) {
|
||||
mClient.setDebugMode(debugMode);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void changeMapVisualAngle(VisualAngleMode angelMode, MogoLatLng mogoLatLng) {
|
||||
if (mClient != null) {
|
||||
@@ -282,27 +275,6 @@ public class AMapUIController implements IMogoMapUIController {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getTileId(double lon, double lat) {
|
||||
return MapAutoApi.INSTANCE.getTileID(lon, lat, 13); // 13为默认获取瓦片层级级别
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLimitSpeed(double lon, double lat, float angle) {
|
||||
if(mClient!= null){
|
||||
return mClient.getLimitSpeed(lon, lat, angle);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CenterLine getCenterLineInfo(double lon, double lat, float angle) {
|
||||
if(mClient != null){
|
||||
return mClient.getCenterLineInfo(lon, lat, angle);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void rtkEnable(boolean enable) {
|
||||
if (mClient != null) {
|
||||
@@ -310,7 +282,6 @@ public class AMapUIController implements IMogoMapUIController {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void stepInVrMode(boolean isDayMode) {
|
||||
if (mClient != null) {
|
||||
@@ -341,22 +312,6 @@ public class AMapUIController implements IMogoMapUIController {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getAngle(double startLon, double startLat, double endLon, double endLat) {
|
||||
if (mClient != null) {
|
||||
return mClient.getAngle(startLon, startLat, endLon, endLat);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double getRoadAngle(Double lon, Double lat, float angle) {
|
||||
if (mClient != null) {
|
||||
return mClient.getRoadAngle(lon, lat, angle);
|
||||
}
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLockMode(boolean isLock) {
|
||||
if (mClient != null) {
|
||||
|
||||
Reference in New Issue
Block a user