@@ -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 );
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
@@ -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();
|
||||
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package com.mogo.map.navi;
|
||||
|
||||
public
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020/10/23
|
||||
*
|
||||
* 描述
|
||||
*/
|
||||
interface IMogoOperationListenerRegister {
|
||||
|
||||
/**
|
||||
* 设置线条点击回调
|
||||
*/
|
||||
void setLineClickInteraction( OnCalculatePathItemClickInteraction itemClickInteraction );
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package com.mogo.map.navi;
|
||||
|
||||
/**
|
||||
* 规划路线交互接口
|
||||
*/
|
||||
public interface OnCalculatePathItemClickInteraction {
|
||||
|
||||
/**
|
||||
* 点击:列表点击、线路点击
|
||||
*
|
||||
* @param tagId 线条ID
|
||||
*/
|
||||
void onItemClicked( String tagId );
|
||||
}
|
||||
Reference in New Issue
Block a user