2

現在、MapFragmentで複数のGroundOverlaysを定義しています。私はLatLngBoundsによって各GroundOverlayを作成しており、ほとんどの場合、すべてが整列しています。ただし、GroundOverlayの一部はわずかにずれてしまいます。

作成後に境界をログに記録すると、それらは私の期待と一致します。2回目にログに記録すると、わずかにずれています。

LatLngBounds bounds = new LatLngBounds(new LatLng(point1_lat, point1_lon), new LatLng(point2_lat, point2_lon));

Log.d(TAG, "Bounds southwest: " + bounds.southwest.latitude + ", " + bounds.southwest.longitude);
Log.d(TAG, "Bounds northeast: " + bounds.northeast.latitude + ", " + bounds.northeast.longitude);

GroundOverlay groundOverlay = getMap().addGroundOverlay(new GroundOverlayOptions()
                        .image(bitmapDescriptor)
                        .positionFromBounds(bounds)
                    );

Log.d(TAG, "southwest: " + groundOverlay.getBounds().southwest.latitude + ", " + groundOverlay.getBounds().southwest.longitude);
Log.d(TAG, "northeast: " + groundOverlay.getBounds().northeast.latitude + ", " + groundOverlay.getBounds().northeast.longitude);

GroundOverlayを作成すると、緯度と経度が変わる理由はありますか?

4

1 に答える 1

0

幅/高さが2の累乗の長さになるように画像のサイズが変更されている可能性があります。ドキュメントから...

: 画像がマップに追加されると、辺が 2 の累乗の画像に変換されます。128x512 や 1024x1024 など、2 の累乗のサイズの元の画像を使用することで、この変換を回避できます。

アンディ。

于 2013-12-09T06:36:13.053 に答える