GroundOverlay界限在创建后发生变化

时间:2012-12-11 16:12:25

标签: android google-maps

我目前正在MapFragment中定义多个GroundOverlay。我正在通过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创建会使纬度和经度发生变化?

1 个答案:

答案 0 :(得分:0)

可能会调整图像大小以确保宽度/高度的长度为2的幂。来自文档......

  

注意:将图像添加到地图时,它将转换为边长为2的图像。您可以使用尺寸为2的尺寸的原始图像来避免此转换 - 例如,128x512或1024x1024。

安迪。