2

我目前正在 MapFragment 中定义多个 GroundOverlays。我正在通过 LatLngBounds 创建每个 GroundOverlay,并且在大多数情况下,所有内容都对齐;然而,一些 GroundOverlays 最终会略微偏离。

如果我在创建后记录边界,它们符合我的期望。我第二次记录它们时,它们略微偏离了。

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 次方的图像。您可以通过使用尺寸为 2 次方的原始图像来避免这种转换,例如 128x512 或 1024x1024。

安迪。

于 2013-12-09T06:36:13.053 回答