【问题标题】:Google Map's Polygon with hole went wrong when zoom level is bigger than 19缩放级别大于 19 时,带孔的 Google 地图多边形出错
【发布时间】:2014-03-14 17:06:45
【问题描述】:

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

LatLng = (0, 0)

LatLng = (25.00, 121.52)

LatLng = (25.00, 121.52) 地图类型 = 卫星

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

@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));
}

【问题讨论】:

  • 您找到解决此问题的方法了吗?我在 Sony Z1 和 Galaxy S4 上的 Android 5.0.2 上遇到了这个问题。
  • 啊,不。也许你应该报告这个错误。祝你好运。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 2011-07-21
    相关资源
    最近更新 更多