android - 当缩放级别大于 19 时,带孔的 Google map 多边形出错

标签 android google-maps google-maps-android-api-2

我正在使用 Android Google Map v2 和 MapFragment 来显示 map 。我用一个带小孔的大多边形覆盖了整个 map 。当缩放级别小于 19 时它工作正常,但是当缩放级别上升到 20 后,孔就消失了。这是谷歌地图的错误吗?

经纬度 = (0, 0) enter image description here

经纬度 = (25.00, 121.52) enter image description here

LatLng = (25.00, 121.52) MapType = 卫星 enter image description here

这是我的代码,请帮忙。谢谢!

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
    map.moveCamera(CameraUpdateFactory.zoomTo(18));
    drawPolygonWithHole(map);
}

private void drawPolygonWithHole(GoogleMap map) {
    ArrayList<LatLng> hole = new ArrayList<LatLng>();

    hole.add(new LatLng(-0.0002, -0.0002));
    hole.add(new LatLng(-0.0002, 0.0002));
    hole.add(new LatLng(0.0002, 0.0002));
    hole.add(new LatLng(0.0002, -0.0002));

    map.addPolygon(new PolygonOptions()
        .add(new LatLng(85,90), new LatLng(85,0.1),
             new LatLng(85,-90), new LatLng(85,-179.9),
             new LatLng(0,-179.9), new LatLng(-85,-179.9),
             new LatLng(-85,-90), new LatLng(-85,0.1),
             new LatLng(-85,90), new LatLng(-85,179.9),
             new LatLng(0,179.9), new LatLng(85,179.9))
        .addHole(hole)
        .strokeWidth(0)
        .fillColor(Color.BLACK));
}

最佳答案

这看起来确实像是 Google Maps Android API v2 中的一个问题。在 gmaps-api-issues 上报告了错误可能有相同的根本原因,但据我所知,没有像这样的报道,所以我建议去那里发布它。

关于android - 当缩放级别大于 19 时,带孔的 Google map 多边形出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22411465/

相关文章:

google-maps - 谷歌地图 v3 : geometry library not loaded

android - Google Maps Android API v2 - 交互式信息窗口(就像在原始的 android 谷歌地图中一样)

android - Google Maps Android -- map 突然不再显示

javascript - 缩小事件的热图权重变化?

google-maps - 在谷歌地图中获取标记ID

使用 phonegap 创建的 android 应用程序-滚动时背景不会保持固定

android - list 合并异常: SAXParseException

android - 在图库中的 map 被对话框移走后延迟平移

android - Gradle 冲突播放服务 :4. 0.30 与 GoogleAdMobAdsSdk

android - Gradle 混合版本警告