This commit is contained in:
wangcongtao
2020-04-14 14:42:05 +08:00
parent 00dcc08075
commit 813b41c6fd
3 changed files with 17 additions and 13 deletions

View File

@@ -10,6 +10,7 @@ import com.amap.api.navi.AMapNavi;
import com.amap.api.navi.enums.AimLessMode;
import com.amap.api.navi.enums.NaviType;
import com.amap.api.navi.model.NaviLatLng;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.map.MogoLatLng;
import com.mogo.map.impl.amap.AMapWrapper;
import com.mogo.map.impl.amap.message.AMapMessageManager;
@@ -309,7 +310,7 @@ public class NaviClient implements IMogoNavi {
}
} );
} else {
AMapWrapper.getAMap().setLocationSource( null );
AMapWrapper.getAMap().setLocationSource( new com.amap.api.col.n3.dd( AbsMogoApplication.getApp() ) );
mOnLocationChangedListener = null;
}
AMapWrapper.getAMap().setMyLocationEnabled( true );

View File

@@ -3,6 +3,7 @@ package com.mogo.module.gps.simulator;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.map.MogoLatLng;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.navi.IMogoCarLocationChangedListener;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.service.IMogoServiceApis;
@@ -33,6 +34,7 @@ public class WebSocketManager {
private IMogoNavi mNavi;
private JWebSocketClient mClient;
private URI mUri;
private IMogoServiceApis mServiceApis;
private ExecutorService mService;
@@ -48,7 +50,7 @@ public class WebSocketManager {
}
private WebSocketManager() {
final IMogoServiceApis mServiceApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation();
mServiceApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation();
mNavi = mServiceApis.getMapServiceApi().getNavi( AbsMogoApplication.getApp() );
mUri = URI.create( "ws://152.136.10.223:4001/realtimeLocations-ws" );
mClient = new JWebSocketClient( mUri ) {
@@ -107,10 +109,12 @@ public class WebSocketManager {
if ( mClient == null ) {
return;
}
mNavi.setUseExtraGPSData( true );
mService.execute( () -> {
try {
mClient.connectBlocking();
} catch ( InterruptedException e ) {
Logger.d( TAG, "connectBlocking done." );
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
}
} );
@@ -123,13 +127,15 @@ public class WebSocketManager {
}
public void disConnect() {
try {
mService.execute( () -> {
mClient.close();
} );
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
}
mNavi.setUseExtraGPSData( false );
mService.execute( () -> {
try {
mClient.closeBlocking();
Logger.d( TAG, "close done." );
} catch ( InterruptedException e ) {
Logger.e( TAG, e, "error." );
}
} );
}
public static void destroy() {

View File

@@ -212,7 +212,6 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener {
}
SettingManager.setGpsSimulator(isChecked)
SearchServiceHolder.getNavi().setUseExtraGPSData(isChecked)
if (isChecked) {
SearchServiceHolder.gpsSimulator.open()
@@ -280,8 +279,6 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener {
tv_navi_clear_home_address.visibility = View.VISIBLE
}
}
override fun onDestroyView() {