This commit is contained in:
wangcongtao
2020-03-19 16:24:14 +08:00
parent 0061b47744
commit a83c528b5d
18 changed files with 146 additions and 33 deletions

View File

@@ -468,8 +468,16 @@ public class AMapNaviViewWrapper implements IMogoMapView,
@Override
public void showMyLocation( boolean visible ) {
Logger.d( TAG, "showMyLocation1" );
if ( checkAMapView() ) {
MyLocationStyle style = mMapView.getMap().getMyLocationStyle();
if ( visible ) {
if ( NaviClient.getInstance( getContext() ).isNaviing() ) {
return;
}
}
style.showMyLocation( visible );
if ( visible ) {
// 强制刷新一遍车标
@@ -483,6 +491,9 @@ public class AMapNaviViewWrapper implements IMogoMapView,
@Override
public void showMyLocation( float degree ) {
if ( NaviClient.getInstance( getContext() ).isNaviing() ) {
return;
}
if ( checkAMapView() ) {
mCursorView = View.inflate( getContext(), R.layout.map_amap_cursor, null );
mCursorView.setRotation( degree );

View File

@@ -28,6 +28,7 @@ import java.util.List;
public abstract class AMapNaviListenerAdapter implements AMapNaviListener {
private static final String TAG = "AMapNaviListenerAdapter";
protected String mLastSpeakWord;
@Override
public void onInitNaviFailure() {
@@ -61,7 +62,8 @@ public abstract class AMapNaviListenerAdapter implements AMapNaviListener {
@Override
public void onGetNavigationText( String s ) {
mLastSpeakWord = s;
Logger.d( TAG, s );
}
@Override

View File

@@ -51,7 +51,7 @@ public class NaviClient implements IMogoNavi {
private NaviClient( Context context ) {
mAMapNavi = AMapNavi.getInstance( context );
mAMapNavi.setEmulatorNaviSpeed( 120 );
mAMapNavi.setUseInnerVoice( true );
mAMapNavi.setUseInnerVoice( true, true );
mAMapNaviListener = new NaviListenerAdapter( context, mAMapNavi, this );
mAimlessModeListener = new AimlessModeListenerAdapter() {
};

View File

@@ -3,6 +3,7 @@ package com.mogo.map.impl.amap.navi;
import android.content.Context;
import android.graphics.Rect;
import android.os.Trace;
import android.text.TextUtils;
import com.amap.api.maps.model.Polyline;
import com.amap.api.navi.AMapNavi;
@@ -16,6 +17,7 @@ import com.amap.api.navi.model.AMapNaviCameraInfo;
import com.amap.api.navi.model.AMapNaviInfo;
import com.amap.api.navi.model.AMapNaviLocation;
import com.amap.api.navi.model.NaviInfo;
import com.mogo.commons.voice.AIAssist;
import com.mogo.map.MogoLatLng;
import com.mogo.map.impl.amap.AMapWrapper;
import com.mogo.map.impl.amap.message.AMapMessageManager;
@@ -182,6 +184,10 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter {
*/
private void stopNaviDelay() {
UiThreadHandler.postDelayed( () -> {
if ( TextUtils.isEmpty( mLastSpeakWord ) || !mLastSpeakWord.contains( "结束" ) ) {
AIAssist.getInstance( mContext ).speakTTSVoice( "到达目的地附近,本次导航结束" );
}
mLastSpeakWord = "";
stopNavi();
}, 5_000L );
}