0

私のアプリでは次の機能が動作しています。

  1. MyLocationOverlayを使用して現在地を取得します。
  2. 点滅する青いマーカーの代わりにカスタムマーカーをドロップできるように、MyLocationOverlayを拡張しました。

最後の要件についてサポートが必要です。MyLocationOverlayが最初に見つけたと言っている場所にマーカーを固定し、衛星から衛星にジャンプするときに移動しないようにしたいだけです。

このタイプのユーザーエクスペリエンスを作成するための私のオプションは何ですか?

4

1 に答える 1

0

CustomLocationOverlay 内の 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);
        ...
        ...

この場所をキャプチャして、LocationOverlay をハイジャックする代わりに、このポイントのみを描画する新しい DrawableMapOverlay を作成することもできます。

于 2012-09-23T08:55:52.207 に答える