Files
MoGoEagleEye/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java
wangcongtao 714b974db2 opt
2020-01-12 09:46:00 +08:00

139 lines
3.4 KiB
Java

package com.mogo.map;
import android.content.Context;
import android.graphics.Rect;
import com.mogo.map.impl.amap.navi.NaviClient;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.navi.MogoCalculatePath;
import com.mogo.map.navi.MogoNaviConfig;
import com.mogo.map.navi.OnCalculatePathItemClickInteraction;
import java.util.List;
/**
* @author congtaowang
* @since 2019-12-25
* <p>
* 导航代理
*/
public class MogoNavi implements IMogoNavi {
private IMogoNavi mDelegate;
private static volatile MogoNavi sInstance;
private MogoNavi( Context context ) {
mDelegate = NaviClient.getInstance( context );
}
public static MogoNavi getInstance( Context context ) {
if ( sInstance == null ) {
synchronized ( MogoNavi.class ) {
if ( sInstance == null ) {
sInstance = new MogoNavi( context );
}
}
}
return sInstance;
}
public synchronized void release() {
sInstance = null;
}
@Override
public void naviTo( MogoLatLng endPoint ) {
if ( mDelegate != null ) {
mDelegate.naviTo( endPoint );
}
}
@Override
public void naviTo( MogoLatLng endPoint, MogoNaviConfig config ) {
if ( mDelegate != null ) {
mDelegate.naviTo( endPoint, config );
}
}
@Override
public void naviTo( MogoLatLng endPoint, List< MogoLatLng > wayPoints ) {
if ( mDelegate != null ) {
mDelegate.naviTo( endPoint, wayPoints );
}
}
@Override
public void naviTo( MogoLatLng endPoint, List< MogoLatLng > wayPoints, MogoNaviConfig config ) {
if ( mDelegate != null ) {
mDelegate.naviTo( endPoint, wayPoints, config );
}
}
@Override
public void reCalculateRoute( MogoNaviConfig config ) {
if ( mDelegate != null ) {
mDelegate.reCalculateRoute( config );
}
}
@Override
public void stopNavi() {
if ( mDelegate != null ) {
mDelegate.stopNavi();
}
}
@Override
public void startNavi( boolean isRealNavi ) {
if ( mDelegate != null ) {
mDelegate.startNavi( isRealNavi );
}
}
@Override
public boolean isNaviing() {
if ( mDelegate != null ) {
return mDelegate.isNaviing();
}
return false;
}
@Override
public List< MogoCalculatePath > getCalculatedStrategies() {
if ( mDelegate != null ) {
return mDelegate.getCalculatedStrategies();
}
return null;
}
@Override
public OnCalculatePathItemClickInteraction getItemClickInteraction() {
if ( mDelegate != null ) {
return mDelegate.getItemClickInteraction();
}
return null;
}
@Override
public void setLineClickInteraction( OnCalculatePathItemClickInteraction itemClickInteraction ) {
if ( mDelegate != null ) {
mDelegate.setLineClickInteraction( itemClickInteraction );
}
}
@Override
public void clearCalculatePaths() {
if ( mDelegate != null ) {
mDelegate.clearCalculatePaths();
}
}
@Override
public void setCalculatePathDisplayBounds( Rect bounds ) {
if ( mDelegate != null ) {
mDelegate.setCalculatePathDisplayBounds( bounds );
}
}
}