Android 地图中带有多边形的自定义 TileProvider

Custom TileProvider with Polygon in Android maps

我在 Android 地图上绘制多边形时遇到问题。 问题是我有 TileOverlays,所以多边形有点在叠加层下面。

我像这样在 GoogleMap 上绘制多边形:

map.addPolygon(new PolygonOptions().add(points).strokeColor(Color.RED).strokeWidth(3f));
map.animateCamera(CameraUpdateFactory.newLatLngZoom(points[0], 18));

我可以在图块开始加载之前看到多边形,但随后它就消失了。我想实现在 TileProvider 上绘制多边形。

我有一个自定义 TileProvider,它执行三层:缓存层、自定义地图层和部分透明的数据层。

加载地图时,我创建了所有三个图层:

cacheLayer = map.addTileOverlay(new TileOverlayOptions().tileProvider(addCache()));
mapLayer = map.addTileOverlay(new TileOverlayOptions().tileProvider(addMap()));
dataLayer = map.addTileOverlay(new TileOverlayOptions().tileProvider(addData()));

我怎样才能实现多边形高于它们?或者至少在地图层之上?我应该为多边形创建另一个叠加层吗?如果是这样,我如何在 TileProvider 上绘制多边形?如果可以的话,我可以直接在dataLayer上绘制吗?

哦,好吧,解决方法很简单,如果以后还有人遇到这个问题:

cacheLayer = map.addTileOverlay(new TileOverlayOptions().tileProvider(addCache()).zIndex(1));
mapLayer = map.addTileOverlay(new TileOverlayOptions().tileProvider(addMap()).zIndex(2));
dataLayer = map.addTileOverlay(new TileOverlayOptions().tileProvider(addData()).zIndex(3));

对于多边形:

map.addPolygon(new PolygonOptions().add(points).strokeColor(Color.RED).strokeWidth(3f).zIndex(4));
map.animateCamera(CameraUpdateFactory.newLatLngZoom(points[0], 18));