删除无用接口

Signed-off-by: donghongyu <donghongyu@zhidaoauto.com>
This commit is contained in:
donghongyu
2022-01-20 12:15:46 +08:00
parent 307a4bdf83
commit 7e50aeb1ee
21 changed files with 6 additions and 1018 deletions

View File

@@ -1,32 +0,0 @@
package com.mogo.commons.layoutinflater;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.LayoutRes;
public
/**
* @author congtaowang
* @since 2020/12/23
*
* 系统实现的布局加载
*/
class OriginalLayoutInflater {
private static LayoutInflater sLayoutInflater;
public static void init( Context context ) {
sLayoutInflater = LayoutInflater.from( context ).cloneInContext( context );
}
public static View inflate( @LayoutRes int layoutId, ViewGroup container, boolean attachToRoot ) {
return sLayoutInflater.inflate( layoutId, container, attachToRoot );
}
public static View inflate( @LayoutRes int layoutId, ViewGroup container ) {
return sLayoutInflater.inflate( layoutId, container, container != null );
}
}

View File

@@ -1,4 +1,3 @@
-keep class com.mogo.map.impl.custom.AMapUiSettingsWrapper{*;}
#-----自研地图-----
-keepattributes EnclosingMethod
@@ -13,5 +12,3 @@
-keepattributes Exceptions,InnerClasses,...
-keep class com.zhidaoauto.map.sdk.open.camera.CameraPosition{ *; }
-keep class com.zhidaoauto.map.sdk.open.camera.CameraPosition$B { *; }
-keep class com.zhidaoauto.map.sdk.open.camera.CameraPosition$C { *; }

View File

@@ -30,12 +30,12 @@ import com.mogo.eagle.core.utilcode.util.GsonUtils;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.map.IMogoMap;
import com.mogo.map.IMogoMapView;
import com.mogo.map.impl.custom.navi.NaviClient;
import com.mogo.map.impl.custom.utils.MogoMapUtils;
import com.mogo.map.impl.custom.utils.ObjectUtils;
import com.mogo.map.impl.custom.utils.PointInterpolatorUtil;
import com.mogo.map.impl.custom.utils.ResIdCache;
import com.mogo.map.listener.MogoMapListenerHandler;
import com.mogo.map.navi.MogoCarLocationChangedListenerRegister;
import com.mogo.map.uicontroller.CarCursorOption;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
@@ -129,65 +129,9 @@ public class AMapViewWrapper implements IMogoMapView,
MapAutoViewHelper options = mMapView.getMapAutoViewHelper();
if (options != null) {
options.setZoomGesturesEnabled(true);
// 设置是否开启自动黑夜模式切换默认为false不自动切换
// options.setAutoSwitchStyle(false);
// 设置6秒后是否自动锁车
// options.setAutoLockCar( false );
// 设置路线上的摄像头气泡是否显示
// options.setCameraBubbleShow( true );
// 设置路线相关的配置属性,如:路线的路况颜色,路线上是否显示摄像头气泡等。
// options.setRouteOverlayOptions( MapStyleUtils.getRouteOverlayOptions() );
// 设置自车的图片对象
options.setMyLocationStyle(options.getMyLocationStyle().myLocationIcon(DEFAULT_OPTION.getCarCursorRes()));
// 设置指南针图标否在导航界面显示默认显示。true显示false隐藏。
// options.hiddenDirection();
// 黑夜模式
// options.setMapStyle(MapAutoApi.MAP_STYLE_NIGHT);
//设置路况光柱条是否显示(只适用于驾车导航,需要联网)。
// options.setTrafficBarEnabled( false );
// 设置[实时交通图层开关按钮]是否显示(只适用于驾车导航,需要联网)。
// options.setTrafficLayerEnabled( false );
// 设置导航界面是否显示路线全览按钮。
// options.setRouteListButtonShow( false );
// 设置导航状态下屏幕是否一直开启。
// options.setScreenAlwaysBright( true );
// 设置交通播报是否打开(只适用于驾车导航,需要联网)。
// options.setTrafficInfoUpdateEnabled( true );
// 设置摄像头播报是否打开(只适用于驾车导航)。
// options.setCameraInfoUpdateEnabled( true );
// 设置菜单按钮是否在导航界面显示。
// options.setSettingMenuEnabled( false );
// 设置是否绘制显示交通路况的线路(彩虹线),拥堵-红色,畅通-绿色,缓慢-黄色,未知-蓝色。默认不绘制彩虹线。
// options.setTrafficLine( true );
// 设置是否绘制牵引线(当前位置到目的地的指引线)。默认不绘制牵引线。
// options.setLeaderLineEnabled( -1 );
// 设置导航界面UI是否显示。
// options.setLayoutVisible( false );
// 设置是否自动画路
// options.setAutoDrawRoute( false );
// 设置是否显示路口放大图(实景图)
// options.setRealCrossDisplayShow( false );
// 设置是否显示路口放大图(路口模型图)
// options.setModeCrossDisplayShow( false );
// 设置是否显示道路信息view
// options.setLaneInfoShow( false );
// 设置是否自动改变缩放等级
// options.setAutoChangeZoom( false );
// 设置是否自动全览模式,即在算路成功后自动进入全览模式
// options.setAutoDisplayOverview( false );
// 设置路线转向箭头隐藏和显示
// options.setNaviArrowVisible( false );
// 通过路线是否自动置灰,仅支持驾车导航
// options.setAfterRouteAutoGray( true );
// options.setZoom(((int) mDefaultZoomLevel));
// options.setPointToCenter( 0.5D, 0.5D );
// 2D模式
// options.setMapViewPerspective(MapAutoApi.MAP_PERSPECTIVE_2D);
// mMapView.setViewOptions( options );
}
// mMapView.setRouteOverlayVisible( false );
// mMapView.setCarOverlayVisible( false );
// setUIMode(EnumMapUI.CarUp_2D);
}
private void initListeners() {
@@ -198,7 +142,6 @@ public class AMapViewWrapper implements IMogoMapView,
mMapView.setOnMapTouchListener(this);
mMapView.setOnMapClickListener(this);
mMapView.getLocationClient().registerListener(this);
// mMapView.getLocationClient().registerGpsListener( this );
mMapView.registerListener(this, MapAutoApi.LISTENER_TYPE_ZOOM);
mMapView.registerListener(this, MapAutoApi.LISTENER_TYPE_ROTATE);
mMapView.registerListener(this, MapAutoApi.LISTENER_TYPE_3D);
@@ -206,18 +149,6 @@ public class AMapViewWrapper implements IMogoMapView,
mMapView.setOnMapStyleListener(this);
mMapView.setOnMapViewVisualAngleChangeListener(this);
Logger.d(TAG, "styleop - initListeners - setOnMapStyleListener - view %s", mMapView);
// mMapView.setOnPolylineClickListener( this );
// mMapView.setAMapNaviViewListener( this );
//
// final AMap aMap = mMapView.getMap();
// if ( aMap != null ) {
// aMap.setOnPOIClickListener( this );
// aMap.setOnMapClickListener( this );
// aMap.setOnCameraChangeListener( this );
// aMap.setOnMyLocationChangeListener( this );
// }
// AMapMessageManager.getInstance().registerAMapMessageListener( this );
}
private Context getContext() {
@@ -763,7 +694,9 @@ public class AMapViewWrapper implements IMogoMapView,
}
NaviClient.getInstance(getContext()).syncCarLocation(sysLocation);
if (MogoCarLocationChangedListenerRegister.getInstance().getListener() != null) {
MogoCarLocationChangedListenerRegister.getInstance().getListener().onCarLocationChanged2(sysLocation);
}
if (checkAMapView() && mMapLoaded) {
// 地图初始化完成后每隔5s自动判断当前地图的模式
if (mIsFirstLocated) {
@@ -785,9 +718,6 @@ public class AMapViewWrapper implements IMogoMapView,
@Override
public void onMapClick(@Nullable LonLatPoint lonLatPoint) {
if (InterceptorHandler.getInstance().ignoreMapClicked(getContext())) {
return;
}
MogoMapListenerHandler.getInstance().onMapClick(ObjectUtils.fromAMap(lonLatPoint));
}
@@ -1067,26 +997,6 @@ public class AMapViewWrapper implements IMogoMapView,
// Log.i("timer-matchRoad-4", "cost " + (System.currentTimeMillis() - start) + "ms roadId: " + singlePointRoadInfo.getRoadId());
roadCache = new RoadCacheWrapper(singlePointRoadInfo.getCoords());
roadCache.setLaneWidth(singlePointRoadInfo.getLaneWidth());
// 在地图上画点的测试方法
// try {
// PolylineOptions options = new PolylineOptions( );
// options.setColor( colors[colorIndex++] );
// options.setId( "test-line"+new Random( ).nextLong() );
// options.setGps( true );
// options.setLineWidth( 3 );
// List<LonLatPoint> points = singlePointRoadInfo.getCoords();
// ArrayList< LonLat > lonLats = new ArrayList<>( );
// for ( LonLatPoint point : points ) {
// lonLats.add( new LonLat( point.getLongitude(), point.getLatitude() ) );
// }
// options.setLonLats( lonLats );
// mMapView.getMapAutoViewHelper().drawThickLine( options );
// if (colorIndex >= colors.length) {
// colorIndex = 0;
// }
// } catch( Exception e ){
// e.printStackTrace();
// }
}
}

View File

@@ -148,11 +148,6 @@ public class AMapWrapper implements IMogoMap {
return null;
}
// 地图导航时,忽略参数
if (InterceptorHandler.getInstance().ignoreAddMarkersMoveToCenterParameters(getContext())) {
moveToCenter = false;
}
ArrayList<Marker> markers = new ArrayList<>();
ArrayList<MarkerOptions> markerOptions = new ArrayList<>();
ArrayList<IMogoMarker> mogoMarkers = new ArrayList<>();

View File

@@ -9,14 +9,10 @@ import com.mogo.map.IMogoMapApiBuilder;
import com.mogo.map.IMogoMapView;
import com.mogo.map.MapApiPath;
import com.mogo.map.impl.custom.location.ALocationClient;
import com.mogo.map.impl.custom.navi.NaviClient;
import com.mogo.map.impl.custom.search.GeocodeSearchClient;
import com.mogo.map.impl.custom.search.PoiSearchClient;
import com.mogo.map.impl.custom.uicontroller.AMapUIController;
import com.mogo.map.impl.custom.utils.IconTypeUtils;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.navi.IMogoAimless;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.search.geo.IMogoGeoSearch;
import com.mogo.map.search.poisearch.IMogoPoiSearch;
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
@@ -52,22 +48,12 @@ public class CustomMapApiBuilder implements IMogoMapApiBuilder {
return AMapUIController.getInstance();
}
@Override
public IMogoNavi getNavi(Context context) {
return NaviClient.getInstance(context);
}
@Override
public IMogoPoiSearch getPoiSearchClient(Context context, MogoPoiSearchQuery query) {
return new PoiSearchClient(context, query);
}
@Override
public IMogoAimless getAimless(Context context) {
return null;
}
@Override
public IMogoMapView getMapView(Context context) {
Log.d(TAG, "setDebugMode==true");
@@ -77,8 +63,8 @@ public class CustomMapApiBuilder implements IMogoMapApiBuilder {
//.setDataFileSource(1) //todo 1-使用本地地图数据0-使用在线地图数据
.setCoordinateType(MapParams.COORDINATETYPE_GCJ02)
.setPerspectiveMode(MapParams.MAP_PERSPECTIVE_3D)
// .setZoom( 20 )
// .setPointToCenter( 0.734375f, 0.5f )
// .setZoom( 20 )
// .setPointToCenter( 0.734375f, 0.5f )
.setPointToCenter(0.5f, 0.5f) //todo 2D模式下需要注意ADAS部分遮挡
.setStyleMode(MapParams.MAP_STYLE_VR);
@@ -100,11 +86,6 @@ public class CustomMapApiBuilder implements IMogoMapApiBuilder {
}
@Override
public int getResIdByIconType(Context context, int iconType) {
return IconTypeUtils.getResIdByIconType(context, iconType);
}
@Override
public void init(Context context) {
Logger.d(TAG, "init");

View File

@@ -1,45 +0,0 @@
package com.mogo.map.impl.custom;
import android.content.Context;
/**
* @author congtaowang
* @since 2019-12-27
* <p>
* 操作拦截器
*/
public interface IInterceptor {
/**
* 是否忽略添加多个marker时聚拢参数
* <p>
* 导航时:不需要聚拢
*
* @return true - 忽略 false - 不忽略
*/
boolean ignoreAddMarkersMoveToCenterParameters( Context context );
/**
* 导航时,是否响应 poi 点击
*
* @param context
* @return
*/
boolean ignorePoiClicked( Context context );
/**
* 导航时,是否响应地图点击
*
* @param context
* @return
*/
boolean ignoreMapClicked( Context context );
/**
* 请求绘制路线
*
* @param context
* @return
*/
boolean ignoreDrawRouteOverlay( Context context );
}

View File

@@ -1,59 +0,0 @@
package com.mogo.map.impl.custom;
import android.content.Context;
/**
* @author congtaowang
* @since 2019-12-27
* <p>
* 操作拦截器
*/
public class InterceptorHandler implements IInterceptor {
private static volatile InterceptorHandler sInstance;
private Context mContext;
private InterceptorHandler() {
}
public static InterceptorHandler getInstance() {
if ( sInstance == null ) {
synchronized ( InterceptorHandler.class ) {
if ( sInstance == null ) {
sInstance = new InterceptorHandler();
}
}
}
return sInstance;
}
public synchronized void release() {
sInstance = null;
}
public void init( Context context ) {
mContext = context;
}
@Override
public boolean ignoreAddMarkersMoveToCenterParameters( Context context ) {
return false;//NaviClient.getInstance( context ).isNaviing();
}
@Override
public boolean ignorePoiClicked( Context context ) {
return false;//NaviClient.getInstance( context ).isNaviing();
}
@Override
public boolean ignoreMapClicked( Context context ) {
return false;//NaviClient.getInstance( context ).isNaviing();
}
@Override
public boolean ignoreDrawRouteOverlay( Context context ) {
return false;//NaviClient.getInstance( context ).isNaviing();
}
}

View File

@@ -59,12 +59,6 @@ public class ALocationClient implements IMogoLocationClient {
return;
}
if ( mClient != null ) {
// AMapLocationClientOption option = new AMapLocationClientOption();
// option.setLocationMode( AMapLocationClientOption.AMapLocationMode.Hight_Accuracy );
// option.setNeedAddress( true );
// option.setGpsFirst( true );
// option.setInterval( interval );
// mClient.setLocationOption( option );
mClient.start();
}
}

View File

@@ -1,137 +0,0 @@
package com.mogo.map.impl.custom.navi;
import android.content.Context;
import android.location.Location;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
import com.mogo.map.impl.custom.AMapWrapper;
import com.mogo.map.navi.IMogoCarLocationChangedListener2;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.navi.MogoCarLocationChangedListenerRegister;
import com.mogo.map.navi.MogoNaviConfig;
import com.mogo.map.navi.OnCalculatePathItemClickInteraction;
import com.zhidaoauto.map.sdk.open.view.MapAutoViewHelper;
import java.util.List;
/**
* @author congtaowang
* @since 2019-12-25
* <p>
* 自研导航
*/
public class NaviClient implements IMogoNavi {
private static final String TAG = "NaviClient";
private MapAutoViewHelper mAMapNavi;
/**
* 导航策略配置
*/
private MogoNaviConfig mMogoNaviConfig = new MogoNaviConfig();
private static volatile NaviClient sInstance;
private Location mCarLocation = new Location("GPS");
private NaviClient(Context context) {
mCarLocation.setLongitude(116.97000);
mCarLocation.setLatitude(39.97000);
mAMapNavi = AMapWrapper.getAMap();
}
public static NaviClient getInstance(Context context) {
if (sInstance == null) {
synchronized (NaviClient.class) {
if (sInstance == null) {
sInstance = new NaviClient(context);
}
}
}
return sInstance;
}
public synchronized void release() {
sInstance = null;
}
@Override
public void naviTo(MogoLatLng endPoint) {
naviTo(endPoint, mMogoNaviConfig);
}
@Override
public void naviTo(MogoLatLng endPoint, MogoNaviConfig config) {
naviTo(endPoint, null, config);
}
@Override
public void naviTo(MogoLatLng endPoint, List<MogoLatLng> wayPoints, MogoNaviConfig config) {
if (!checkAMapNavi()) {
return;
}
Logger.i(TAG, "开始规划路径");
mMogoNaviConfig = config;
if (mMogoNaviConfig == null) {
mMogoNaviConfig = new MogoNaviConfig();
}
}
@Override
public void startNavi(boolean isRealNavi) {
}
@Override
public void setLineClickInteraction(OnCalculatePathItemClickInteraction lineClickInteraction) {
}
@Override
public MogoLatLng getCarLocation() {
if (mCarLocation != null) {
synchronized (mCarLocation) {
return new MogoLatLng(mCarLocation.getLatitude(), mCarLocation.getLongitude());
}
}
return null;
}
@Override
public Location getCarLocation2() {
return mCarLocation;
}
@Override
public void registerCarLocationChangedListener(IMogoCarLocationChangedListener2 listener) {
// do not impl.
}
// -- end
public void syncCarLocation(Location location) {
mCarLocation = location;
if (MogoCarLocationChangedListenerRegister.getInstance().getListener() != null) {
MogoCarLocationChangedListenerRegister.getInstance().getListener().onCarLocationChanged2(location);
}
}
private boolean checkAMapNavi() {
mAMapNavi = AMapWrapper.getAMap();
if (mAMapNavi == null) {
Logger.e(TAG, "自研导航实例为空!!!");
return false;
}
return true;
}
@Override
public void startAimlessMode() {
}
@Override
public void stopAimlessMode() {
}
}

View File

@@ -1,156 +0,0 @@
package com.mogo.map.impl.custom.utils;
import android.content.Context;
import android.util.SparseArray;
/**
* @author congtaowang
* @since 2019-09-29
* <p>
* 描述
*/
public class IconTypeUtils {
public class IconType {
public static final int NONE = 0;
public static final int DEFAULT = 1;
public static final int LEFT = 2;
public static final int RIGHT = 3;
public static final int LEFT_FRONT = 4;
public static final int RIGHT_FRONT = 5;
public static final int LEFT_BACK = 6;
public static final int RIGHT_BACK = 7;
public static final int LEFT_TURN_AROUND = 8;
public static final int STRAIGHT = 9;
public static final int ARRIVED_WAYPOINT = 10;
public static final int ENTER_ROUNDABOUT = 11;
public static final int OUT_ROUNDABOUT = 12;
public static final int ARRIVED_SERVICE_AREA = 13;
public static final int ARRIVED_TOLLGATE = 14;
public static final int ARRIVED_DESTINATION = 15;
public static final int ARRIVED_TUNNEL = 16;
public static final int ENTRY_LEFT_RING = 17;
public static final int LEAVE_LEFT_RING = 18;
public static final int U_TURN_RIGHT = 19;
public static final int SPECIAL_CONTINUE = 20;
public static final int ENTRY_RING_LEFT = 21;
public static final int ENTRY_RING_RIGHT = 22;
public static final int ENTRY_RING_CONTINUE = 23;
public static final int ENTRY_RING_UTURN = 24;
public static final int ENTRY_LEFT_RING_LEFT = 25;
public static final int ENTRY_LEFT_RING_RIGHT = 26;
public static final int ENTRY_LEFT_RING_CONTINUE = 27;
public static final int ENTRY_LEFTRINGU_TURN = 28;
public static final int CROSSWALK = 29;
public static final int OVERPASS = 30;
public static final int UNDERPASS = 31;
public static final int SQUARE = 32;
public static final int PARK = 33;
public static final int STAIRCASE = 34;
public static final int LIFT = 35;
public static final int CABLEWAY = 36;
public static final int SKY_CHANNEL = 37;
public static final int CHANNEL = 38;
public static final int WALK_ROAD = 39;
public static final int CRUISE_ROUTE = 40;
public static final int SIGHTSEEING_BUSLINE = 41;
public static final int SLIDEWAY = 42;
public static final int LADDER = 43;
public static final int SLOPE = 44;
public static final int BRIDGE = 45;
public static final int FERRY = 46;
public static final int SUBWAY = 47;
public static final int ENTER_BUILDING = 48;
public static final int LEAVE_BUILDING = 49;
public static final int BY_ELEVATOR = 50;
public static final int BY_STAIR = 51;
public static final int BY_ESCALATOR = 52;
public static final int LOW_TRAFFIC_CROSS = 53;
public static final int LOW_CROSS = 54;
public IconType() {
}
}
private static SparseArray< String > sIconName = new SparseArray<>();
static {
sIconName.put( IconType.ARRIVED_DESTINATION, "到达目的地" );
sIconName.put( IconType.ARRIVED_SERVICE_AREA, "到达服务区" );
sIconName.put( IconType.ARRIVED_TOLLGATE, "到达收费站" );
sIconName.put( IconType.ARRIVED_TUNNEL, "到达隧道" );
sIconName.put( IconType.ARRIVED_WAYPOINT, "到达途经点" );
sIconName.put( IconType.BRIDGE, "通过桥" );
sIconName.put( IconType.BY_ELEVATOR, "电梯换层" );
sIconName.put( IconType.BY_ESCALATOR, "扶梯换层" );
sIconName.put( IconType.BY_STAIR, "楼梯换层" );
sIconName.put( IconType.CABLEWAY, "通过索道" );
sIconName.put( IconType.CHANNEL, "通过通道" );
sIconName.put( IconType.CROSSWALK, "通过人行横道" );
sIconName.put( IconType.CRUISE_ROUTE, "通过游船路线" );
sIconName.put( IconType.DEFAULT, "自车" );
sIconName.put( IconType.ENTER_BUILDING, "进入建筑物" );
sIconName.put( IconType.ENTER_ROUNDABOUT, "进入环岛" );
sIconName.put( IconType.ENTRY_LEFT_RING, "进入环岛" );
sIconName.put( IconType.ENTRY_LEFT_RING_CONTINUE, "绕环岛直行" );
sIconName.put( IconType.ENTRY_LEFT_RING_LEFT, "绕环岛左转" );
sIconName.put( IconType.ENTRY_LEFT_RING_RIGHT, "绕环岛右转" );
sIconName.put( IconType.ENTRY_LEFTRINGU_TURN, "绕环岛调头" );
sIconName.put( IconType.ENTRY_RING_CONTINUE, "绕环岛直行" );
sIconName.put( IconType.ENTRY_RING_LEFT, "绕环岛左转" );
sIconName.put( IconType.ENTRY_RING_RIGHT, "绕环岛右转" );
sIconName.put( IconType.ENTRY_RING_UTURN, "绕环岛调头" );
sIconName.put( IconType.FERRY, "通过轮渡" );
sIconName.put( IconType.LADDER, "通过阶梯" );
sIconName.put( IconType.LEAVE_BUILDING, "离开建筑物" );
sIconName.put( IconType.LEAVE_LEFT_RING, "驶出环岛" );
sIconName.put( IconType.LEFT, "左转" );
sIconName.put( IconType.LEFT_BACK, "左后" );
sIconName.put( IconType.LEFT_FRONT, "左前方" );
sIconName.put( IconType.LEFT_TURN_AROUND, "左转掉头" );
sIconName.put( IconType.LIFT, "通过直梯" );
sIconName.put( IconType.LOW_CROSS, "通过普通路口" );
sIconName.put( IconType.LOW_TRAFFIC_CROSS, "红绿灯路口" );
sIconName.put( IconType.NONE, "无定义" );
sIconName.put( IconType.OUT_ROUNDABOUT, "驶出环岛" );
sIconName.put( IconType.OVERPASS, "通过过街天桥" );
sIconName.put( IconType.PARK, "通过公园" );
sIconName.put( IconType.RIGHT, "右转" );
sIconName.put( IconType.RIGHT_BACK, "右后方" );
sIconName.put( IconType.RIGHT_FRONT, "右前方" );
sIconName.put( IconType.SIGHTSEEING_BUSLINE, "通过观光车路线" );
sIconName.put( IconType.SKY_CHANNEL, "通过空中通道" );
sIconName.put( IconType.SLIDEWAY, "通过滑道" );
sIconName.put( IconType.SLOPE, "通过斜坡" );
sIconName.put( IconType.SPECIAL_CONTINUE, "顺行" );
sIconName.put( IconType.SQUARE, "通过广场" );
sIconName.put( IconType.STAIRCASE, "通过扶梯" );
sIconName.put( IconType.STRAIGHT, "直行" );
sIconName.put( IconType.SUBWAY, "通过地铁通道" );
sIconName.put( IconType.U_TURN_RIGHT, "右转掉头" );
sIconName.put( IconType.UNDERPASS, "通过地下通道" );
sIconName.put( IconType.WALK_ROAD, "通过行人道路" );
}
private static int lastIconType = 0;
private static int lastIconResId = 0;
public static String getNameByIconType( int iconType ) {
return sIconName.get( iconType );
}
public static int getResIdByIconType( Context context, int iconType ) {
try {
if ( iconType == lastIconType ) {
return lastIconResId;
}
int target = context.getResources().getIdentifier( "ic_" + iconType, "drawable", context.getPackageName() );
lastIconType = iconType;
lastIconResId = target;
return target;
} catch ( Exception e ) {
return -1;
}
}
}

View File

@@ -4,8 +4,6 @@ import android.content.Context;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.navi.IMogoAimless;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.search.geo.IMogoGeoSearch;
import com.mogo.map.search.poisearch.IMogoPoiSearch;
import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
@@ -27,17 +25,12 @@ interface IMogoMapApiBuilder extends IProvider {
IMogoMapUIController getMapUIController();
IMogoNavi getNavi( Context context );
IMogoPoiSearch getPoiSearchClient( Context context, MogoPoiSearchQuery query );
IMogoAimless getAimless( Context context );
void destroy();
IMogoMapView getMapView( Context context );
IMogoTrafficSearch getTrafficSearch();
int getResIdByIconType( Context context, int iconType );
}

View File

@@ -1,14 +0,0 @@
package com.mogo.map;
import android.content.Context;
/**
* @author congtaowang
* @since 2019-12-18
* <p>
* 地图抽象
*/
public interface IMogoMapViewCreator {
IMogoMapView create( Context context);
}

View File

@@ -1,28 +0,0 @@
package com.mogo.map.navi;
/**
* @author donghongyu
* @since 2020-11-05
* <p>
* 巡航操作
*/
public interface IMogoAimless {
/**
* 打开巡航模式
*/
void startAimlessMode();
/**
* 关闭巡航模式
*/
void stopAimlessMode();
/**
* 设置巡航模式状态
*
* @param open
*/
void setAimlessModeStatus(boolean open);
}

View File

@@ -1,73 +0,0 @@
package com.mogo.map.navi;
import android.location.Location;
import com.mogo.eagle.core.data.map.MogoLatLng;
import java.util.List;
/**
* @author congtaowang
* @since 2019-12-25
* <p>
* 导航操作
*/
public interface IMogoNavi extends IMogoCarLocationChangedListenerRegister, IMogoOperationListenerRegister{
/**
* 开启路径规划并导航
*
* @param endPoint 目的地
*/
void naviTo( MogoLatLng endPoint );
/**
* 开启路径规划并导航
*
* @param endPoint 目的地
* @param config 规划路线策略
*/
void naviTo( MogoLatLng endPoint, MogoNaviConfig config );
/**
* 开启路径规划并导航
*
* @param endPoint 导航目的地
* @param wayPoints 途经点
* @param config 规划路线策略
*/
void naviTo( MogoLatLng endPoint, List< MogoLatLng > wayPoints, MogoNaviConfig config );
/**
* 开始导航
*
* @param isRealNavi true - 实时导航 false - 模拟导航
*/
void startNavi( boolean isRealNavi );
/**
* 获取车标经纬度
*
* @return
*/
MogoLatLng getCarLocation();
/**
* 获取车标经纬度
*
* @return
*/
Location getCarLocation2();
/**
* 打开巡航模式
*/
void startAimlessMode();
/**
* 关闭巡航模式
*/
void stopAimlessMode();
}

View File

@@ -1,17 +0,0 @@
package com.mogo.map.navi;
public
/**
* @author congtaowang
* @since 2020/10/23
*
* 描述
*/
interface IMogoOperationListenerRegister {
/**
* 设置线条点击回调
*/
void setLineClickInteraction( OnCalculatePathItemClickInteraction itemClickInteraction );
}

View File

@@ -1,148 +0,0 @@
package com.mogo.map.navi;
import android.text.TextUtils;
import com.mogo.eagle.core.data.map.MogoLatLng;
import java.util.List;
/**
* @author congtaowang
* @since 2020-01-08
* <p>
* 规划路线信息
*/
public class MogoCalculatePath {
/**
* 策略名称
*/
private String mStrategyName;
/**
* 时间
*/
private String mFormattedTime;
private int mTime;
/**
* 距离
*/
private String mFormattedDistance;
private int mDistance;
/**
* 红绿灯个数
*/
private int mTrafficLights;
/**
* 路线ID用于选择那一条线
*/
private String mTagId;
/**
* 规划的线路ID
*/
private int mPathId;
private List<MogoLatLng> coordList;
public List<MogoLatLng> getCoordList() {
return coordList;
}
public void setCoordList(List<MogoLatLng> coordList) {
this.coordList = coordList;
}
public MogoCalculatePath() {
}
public String getStrategyName() {
if (!TextUtils.isEmpty(mStrategyName)&&mStrategyName.contains(",")) {
String[] split = mStrategyName.split(",");
return split[0];
}
return mStrategyName;
}
public void setStrategyName( String mStrategyName ) {
this.mStrategyName = mStrategyName;
}
public String getFormattedTime() {
return mFormattedTime;
}
public void setFormattedTime( String mTime ) {
this.mFormattedTime = mTime;
}
public String getFormattedDistance() {
return mFormattedDistance;
}
public void setFormattedDistance( String mDistance ) {
this.mFormattedDistance = mDistance;
}
public int getTrafficLights() {
return mTrafficLights;
}
public void setTrafficLights( int mTrafficLights ) {
this.mTrafficLights = mTrafficLights;
}
private StringBuilder mDescBuilder = null;
public String getDesc() {
if ( mDescBuilder == null ) {
mDescBuilder = new StringBuilder();
int lightsSize = getTrafficLights();
if ( lightsSize > 0 ) {
mDescBuilder.append( "红绿灯" ).append( lightsSize ).append( "" );
}
//mDescBuilder.append( " " );
//mDescBuilder.append( "收费" ).append( mPath.getTollCost() ).append( "元" );
}
return mDescBuilder.toString();
}
public String getTagId() {
return mTagId;
}
public void setTagId( String mTagId ) {
this.mTagId = mTagId;
}
public int getPathId() {
return mPathId;
}
public void setPathId( int mPathId ) {
this.mPathId = mPathId;
}
public int getTime() {
return mTime;
}
public MogoCalculatePath setTime( int time ) {
this.mTime = time;
return this;
}
public int getDistance() {
return mDistance;
}
public MogoCalculatePath setDistance( int distance ) {
this.mDistance = distance;
return this;
}
}

View File

@@ -1,105 +0,0 @@
package com.mogo.map.navi;
/**
* @author congtaowang
* @since 2019-12-25
* <p>
* 导航参数
*/
public class MogoNaviConfig {
/**
* 是否躲避拥堵
*/
private boolean congestion = false;
/**
* 不走高速
*/
private boolean avoidSpeed = false;
/**
* 避免收费
*/
private boolean cost = false;
/**
* 高速优先
*/
private boolean highSpeed = false;
/**
* 是否多路线算路
*/
private boolean multipleRoute = true;
/**
* 是否躲避拥堵
*/
public MogoNaviConfig congestion( boolean congestion ) {
this.congestion = congestion;
return this;
}
/**
* 不走高速
*/
public MogoNaviConfig avoidSpeed( boolean avoidSpeed ) {
this.avoidSpeed = avoidSpeed;
if (avoidSpeed) {
this.highSpeed = false;
}
return this;
}
/**
* 避免收费
*/
public MogoNaviConfig cost( boolean cost ) {
this.cost = cost;
if (cost) {
this.highSpeed = false;
}
return this;
}
/**
* 高速优先
*/
public MogoNaviConfig highSpeed( boolean highSpeed ) {
this.highSpeed = highSpeed;
if (highSpeed) {
this.avoidSpeed = false;
this.cost = false;
}
return this;
}
/**
* 是否多路线算路
*/
public MogoNaviConfig multipleRoute( boolean multipleRoute ) {
this.multipleRoute = multipleRoute;
return this;
}
public boolean isCongestion() {
return congestion;
}
public boolean isAvoidSpeed() {
return avoidSpeed;
}
public boolean isCost() {
return cost;
}
public boolean isHighSpeed() {
return highSpeed;
}
public boolean isMultipleRoute() {
return multipleRoute;
}
}

View File

@@ -1,47 +0,0 @@
package com.mogo.map.navi;
public
/**
* @author congtaowang
* @since 2020/10/23
*
* 描述
*/
class MogoOperationListenerRegister implements IMogoOperationListenerRegister {
private static volatile MogoOperationListenerRegister sInstance;
private OnCalculatePathItemClickInteraction itemClickInteraction;
private MogoOperationListenerRegister(){}
public static MogoOperationListenerRegister getInstance(){
if( sInstance == null ){
synchronized( MogoOperationListenerRegister.class ) {
if( sInstance == null ){
sInstance = new MogoOperationListenerRegister();
}
}
}
return sInstance;
}
public synchronized void release(){
sInstance = null;
}
private Object readResolve() {
// 阻止反序列化,必须实现 Serializable 接口
return sInstance;
}
/**
* 设置线条点击回调
*/
public void setLineClickInteraction( OnCalculatePathItemClickInteraction itemClickInteraction ) {
this.itemClickInteraction = itemClickInteraction;
}
public OnCalculatePathItemClickInteraction getItemClickInteraction() {
return itemClickInteraction;
}
}

View File

@@ -1,14 +0,0 @@
package com.mogo.map.navi;
/**
* 规划路线交互接口
*/
public interface OnCalculatePathItemClickInteraction {
/**
* 点击:列表点击、线路点击
*
* @param tagId 线条ID
*/
void onItemClicked( String tagId );
}

View File

@@ -2,11 +2,6 @@ package com.mogo.module.extensions.live;
import android.content.Context;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.map.IMogoMapService;
public class ExtensionServiceManager {
private static boolean isInit;

View File

@@ -6,8 +6,6 @@ import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.map.listener.IMogoHosListenerRegister;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.marker.IMogoMarkerManager;
import com.mogo.map.navi.IMogoAimless;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.overlay.IMogoOverlayManager;
import com.mogo.map.search.geo.IMogoGeoSearch;
import com.mogo.map.search.poisearch.IMogoPoiSearch;