4

Androidマップビューで画面座標をジオポイントに変換しようとしています。画面の中央にマーカーを表示する必要があります(マップビューがウィンドウに表示されます)。そこで、ディスプレイ メトリック getWidth() および getHeight() メソッドを使用して中心座標を取得し、mapView.getProjection().fromPixels(height/2, width/2) を使用して geoppoint に変換しようとしました。しかし、それは間違った結果を与えているようです。何をすればよいでしょうか?

4

2 に答える 2

5

高さと幅の引数を間違った変更として渡しています

mapView.getProjection().fromPixels(width/2,height/2);

このコードを試してください

Projection proj = mapview.getProjection();
GeoPoint proj.fromPixels(int x, int y) ;

ここでは、x、y 座標を渡す必要があり、GeoPoint に変換されます。これを GeoPoint からピクセルに予約することも、このオブジェクトからも可能です。

Point p = new Point();
proj.toPixels(GeoPoint in, android.graphics.Point out) 

詳細については、このリンクを確認してください

https://developers.google.com/maps/documentation/android/reference/com/google/android/maps/Projection

于 2012-08-06T10:10:03.037 に答える
0

notificationBarサイズを考慮していますか?多分またappBar

あなたが知りたいのは、の幅と高さでありMapView、それから投影を取得します:)

于 2012-08-06T10:13:12.633 に答える