2

重複の可能性:
現在表示可能なエリアにジオポイントが表示されているかどうかを確認するにはどうすればよいですか?

現在のズーム レベルに対してマップ ビューが表示している領域 (ジオ ポイントに関して) を知る効率的な方法はありますか?

ジオメトリと同様に、左上が (0,0) から始まり、右下が (320,480) で終わる可能性があることがわかっています。現在の左上の GeoPoint が (76.3213) であることを知る方法はありますか? ,54.5678) で、右下は (112.2345, 132.4567) ?

最終的には、データベースにクエリを実行して、開始点よりも大きく、終了点よりも小さい GeoLocations に関連する情報を送信したいと考えています。

4

2 に答える 2

1

これを行うには、いくつかの方法があります。

1 つ目は、 を使用MapView.getProjection()して、画面座標とジオポイントの間で変換できるようにすることです。

MapView.getMapCenter()2. 、MapView.getLatitudeSpan()、およびの組み合わせを使用MapView.getLongitudeSpan()して、少し計算します。あなたのケースでは最初のオプションの方が良いように聞こえますが、マイレージは異なる場合があります。

いずれにせよ、MapView のドキュメントはすべてここにあります。

于 2011-05-29T17:20:48.610 に答える
1

使用する

 mapview.getTop(), mapview.getBottom(), mapview.getLeft(), mapview.getRight() 

マップビューの端の位置を取得します。次に、

mapView.getProjection().fromPixels(x, y);

座標を取得します。座標を取得したら、それをデータベースに保存し、クエリを実行するのは簡単です。

于 2011-05-30T03:56:36.393 に答える