MyLocatoinOverlay 禁用 MyLocation 或使用 OverlayItem



我的应用程序中具有以下功能。

  1. 我使用MyLocationOverlay来获取我的当前位置。
  2. 我扩展了MyLocationOverlay,以便能够删除自定义标记而不是闪烁的蓝色标记。

我需要最后一个要求的帮助。 我只是想让一个标记固定在MyLocationOverlay说它最初发现的位置上,并且在它从一个卫星跳到另一个卫星时不会四处移动。

创建此类用户体验有哪些选项?

我建议保存第一个输入到自定义位置覆盖层中的drawMyLocation函数中的地理点,并使用它而不是馈送到函数的myLocation。

 int intFirstGeoPoint = 0;
 GeoPoint FirstGeoPoint;
protected void drawMyLocation(Canvas canvas, MapView mapView, Location lastFix, GeoPoint myLocation, long when) {
        if(intFirstGeoPoint == 0){
             FirstGeoPoint=myLocation;
             intFirstGeoPoint=1;
        }else{
             myLocation=FirstGeoPoint;
        }
        // translate the GeoPoint to screen pixels
        Point screenPts = mapView.getProjection().toPixels(myLocation, null);
        ...
        ...

您还可以捕获此位置并创建一个新的 DrawableMapOverlay,该 DrawableMapOverlay 仅绘制此点,而不是劫持 LocationOverlay

相关内容

  • 没有找到相关文章

最新更新