This commit is contained in:
wangcongtao
2020-06-12 15:35:58 +08:00
parent a411944a29
commit ea16ad142e
5 changed files with 60 additions and 44 deletions

View File

@@ -441,7 +441,7 @@ public class AMapNaviViewWrapper implements IMogoMapView,
case CarUp_3D:
case NorthUP_2D:
setUIMode( ui, options );
return;
break;
case Type_Light:
options.setNaviNight( false );
break;

View File

@@ -546,10 +546,16 @@ public class MogoServices implements IMogoMapListener,
private int getQueryRadius() {
mCameraSouthWestPosition = mUiController.getCameraSouthWestPosition();
mCameraNorthEastPosition = mUiController.getCameraNorthEastPosition();
int radius = 0;
if ( mIsVertical ) {
return ( ( int ) ( getMapCameraFactWidth() / 2 ) );
radius = ( ( int ) ( getMapCameraFactWidth() / 2 ) );
} else {
radius = ( ( int ) ( getMapCameraFactHeight() / 2 ) );
}
return ( ( int ) ( getMapCameraFactHeight() / 2 ) );
if ( radius < 1000 ) {
return 1_000;
}
return radius;
}
/**

View File

@@ -17,45 +17,56 @@ public class Utils {
* @param point2 点二坐标
* @return 两坐标的距离 单位M
*/
public static float calculateLineDistance(MogoLatLng point1, MogoLatLng point2) {
if (point1 != null && point2 != null) {
try {
double var2 = point1.lng;
double var4 = point1.lat;
double var6 = point2.lng;
double var8 = point2.lat;
var2 *= 0.01745329251994329D;
var4 *= 0.01745329251994329D;
var6 *= 0.01745329251994329D;
var8 *= 0.01745329251994329D;
double var10 = Math.sin(var2);
double var12 = Math.sin(var4);
double var14 = Math.cos(var2);
double var16 = Math.cos(var4);
double var18 = Math.sin(var6);
double var20 = Math.sin(var8);
double var22 = Math.cos(var6);
double var24 = Math.cos(var8);
double[] var28 = new double[3];
double[] var29 = new double[3];
var28[0] = var16 * var14;
var28[1] = var16 * var10;
var28[2] = var12;
var29[0] = var24 * var22;
var29[1] = var24 * var18;
var29[2] = var20;
return (float) (Math.asin(Math.sqrt((var28[0] - var29[0]) * (var28[0] - var29[0]) + (var28[1] - var29[1]) * (var28[1] - var29[1]) + (var28[2] - var29[2]) * (var28[2] - var29[2])) / 2.0D) * 1.27420015798544E7D);
} catch (Throwable var26) {
var26.printStackTrace();
return 0.0F;
}
public static float calculateLineDistance( MogoLatLng point1, MogoLatLng point2 ) {
if ( point1 != null && point2 != null ) {
return calculateLineDistance( point1.lon, point1.lat, point2.lon, point2.lat );
} else {
return 0.0F;
}
}
public static void main(String[] args) {
double calculateLineDistance = calculateLineDistance(new MogoLatLng(39.955533, 116.423262), new MogoLatLng(39.955385, 116.414604));
System.out.println("距离点 calculateLineDistance" + calculateLineDistance);
/**
* @param lon1
* @param lat1
* @param lon2
* @param lat2
* @return 两坐标的距离 单位M
*/
public static float calculateLineDistance( double lon1, double lat1, double lon2, double lat2 ) {
try {
double var2 = lon1;
double var4 = lat1;
double var6 = lon2;
double var8 = lat2;
var2 *= 0.01745329251994329D;
var4 *= 0.01745329251994329D;
var6 *= 0.01745329251994329D;
var8 *= 0.01745329251994329D;
double var10 = Math.sin( var2 );
double var12 = Math.sin( var4 );
double var14 = Math.cos( var2 );
double var16 = Math.cos( var4 );
double var18 = Math.sin( var6 );
double var20 = Math.sin( var8 );
double var22 = Math.cos( var6 );
double var24 = Math.cos( var8 );
double[] var28 = new double[3];
double[] var29 = new double[3];
var28[0] = var16 * var14;
var28[1] = var16 * var10;
var28[2] = var12;
var29[0] = var24 * var22;
var29[1] = var24 * var18;
var29[2] = var20;
return ( float ) ( Math.asin( Math.sqrt( ( var28[0] - var29[0] ) * ( var28[0] - var29[0] ) + ( var28[1] - var29[1] ) * ( var28[1] - var29[1] ) + ( var28[2] - var29[2] ) * ( var28[2] - var29[2] ) ) / 2.0D ) * 1.27420015798544E7D );
} catch ( Throwable var26 ) {
var26.printStackTrace();
return 0.0F;
}
}
public static void main( String[] args ) {
double calculateLineDistance = calculateLineDistance( new MogoLatLng( 39.955533, 116.423262 ), new MogoLatLng( 39.955385, 116.414604 ) );
System.out.println( "距离点 calculateLineDistance" + calculateLineDistance );
}
}

View File

@@ -818,10 +818,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
* @return
*/
private boolean ignoreOnlineCarRequest() {
if ( MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() ) {
return true;
}
return false;
return ignoreDrawRequest();
}
private void removeCarMarkers() {
@@ -885,7 +882,9 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
}
private boolean ignoreDrawRequest() {
return MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() || MarkerServiceHandler.getMogoStatusManager().isADASShow();
return MarkerServiceHandler.getMogoStatusManager().isSearchUIShow()
|| MarkerServiceHandler.getMogoStatusManager().isV2XShow()
|| !MarkerServiceHandler.getMogoStatusManager().isMainPageLaunched();
}
private void runOnTargetThread( Runnable runnable ) {

View File

@@ -184,7 +184,7 @@ public class UserDataMarkerInfoWindowAdapter implements IMogoInfoWindowAdapter {
params.put( CallChattingProviderConstant.CCPROVIDER_LON, location.getLon() + "" );
}
Logger.d( TAG, "call parameters: %s", params );
if ( MarkerServiceHandler.getApis().getStatusManagerApi().isADASShow() ) {
if ( MarkerServiceHandler.getApis().getStatusManagerApi().isV2XShow() ) {
MarkerServiceHandler.getCarChatting().callShowWindow( params );
} else {
MarkerServiceHandler.getCarChatting().call( params );