3

我对 Android 的 Google Maps API 感到头疼……我在地图上绘制了一些叠加层,一切都很好,它会定期更新并很好地处理手势,没问题……但是,当我放大到 15 级时- 16 或更高,一个或多个较大的多边形不会重绘。这只发生在例如圆的质心超出屏幕边界的情况下,并且仅在放大时发生..它不会在缩小时发生,也不会发生在向任何方向平移地图时(翻译)。

当非常接近放大时,我猜系统会忽略覆盖/形状,将其视为不重要?我想要绘制与屏幕边界相交的任何形状。我是否在这里遗漏了一些明显的东西,因为我似乎找不到任何关于如何处理这种情况的明确答案。

4

2 回答 2

1

我实现它的方式是在这里mapviewballons使用as 库,然后使用调用
super(boundCenter(defaultMarker), mapView);

boundCenter 将质心保持在屏幕上,其覆盖在屏幕上,并且在缩放时不受影响。

于 2012-10-03T17:54:56.120 回答
0

我有一个类似的问题,但我只使用正方形,这样更容易解决。

问题细节(至少有正方形):

canvas.drawRect() 仅当矩形的顶部和底部在可见屏幕内都有坐标时才绘制矩形。只要矩形的顶部或底部在屏幕外有坐标,它就不会被绘制。

我用于正方形的解决方案

我裁剪了正方形以使其始终适合可见的屏幕坐标,并且绘制正确。

如果您使用更复杂的图形,此解决方案可能更难以实施。

祝你好运。

于 2012-10-03T18:00:47.030 回答