diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java index 8abeebce04..145ec8c136 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapViewWrapper.java @@ -1031,9 +1031,10 @@ public class AMapViewWrapper implements IMogoMapView, && !singlePointRoadInfo.getCoords().isEmpty() ) { double matchedPoint[] = PointInterpolatorUtil.mergeToRoad( wgs[0], wgs[1], singlePointRoadInfo.getCoords() ); // return CoordinateUtils.transformWgsToGcj( matchedPoint[1], matchedPoint[0] ); + double[] trans = CoordinateUtils.transformWgsToGcj(matchedPoint[1], matchedPoint[0]); - matchedPoint = CoordinateUtils.transformWgsToGcj( matchedPoint[1], matchedPoint[0] ); - + matchedPoint[0] = trans[0]; + matchedPoint[1] = trans[1]; // MarkerOptions options // = new MarkerOptions(); // options.markerIcon( R.drawable.red ) diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/utils/PointInterpolatorUtil.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/utils/PointInterpolatorUtil.java index 32a34e0fe7..7c8629624a 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/utils/PointInterpolatorUtil.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/utils/PointInterpolatorUtil.java @@ -24,11 +24,10 @@ public class PointInterpolatorUtil { * n in 1 .. a-1 * n == 0 时,xn = x1 * n == a 时,xn = x2 - * + *
* 将xn依次插入x1到x2之间
*
* @param points 待插值点集
- *
* @deprecated 这个方法有问题,并不能算出来想要的值
*/
@Deprecated
@@ -63,7 +62,11 @@ public class PointInterpolatorUtil {
LonLatPoint end = road.get(closeEnd);
Logger.d(TAG, "mergeToRoad start: " + closeStart + " end: " + closeEnd);
// return getMid(start, end);
- return getFoot(lon, lat, start, end);
+ double[] foot = getFoot(lon, lat, start, end);
+
+ float d = CoordinateUtils.calculateLineDistance(foot[0], foot[1], lon, lat);
+ Logger.d(TAG, "distance to mid line==" + d);
+ return new double[]{foot[0], foot[1], d};
}
private static int closeStart = 0;
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/utils/SimpleHandlerThreadPool.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/utils/SimpleHandlerThreadPool.java
index 1052712b76..d34349694f 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/utils/SimpleHandlerThreadPool.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/utils/SimpleHandlerThreadPool.java
@@ -31,6 +31,7 @@ public class SimpleHandlerThreadPool {
private static final String TAG = "SimpleHandlerThreadPool";
private HandlerThread renderThread = new HandlerThread("one-frame-render-thread");
private Handler renderHandler;
+
private SimpleHandlerThreadPool() {
renderThread.start();
renderHandler = new Handler(renderThread.getLooper());
@@ -108,6 +109,7 @@ public class SimpleHandlerThreadPool {
private final Map