Google Android 地图上不同命名的标记

2023-11-25

我想在 Android 地图上添加许多不同的标记。到目前为止,我的代码运行良好,一遍又一遍地使用相同的覆盖层:

mapOverlays = mapView.getOverlays();
drawable = this.getResources().getDrawable(R.drawable.marker);
itemizedOverlay = new MyItemizedOverlay(drawable);
OverlayItem overlayItem = new OverlayItem(geoPoint, "foo", "bar");
mapOverlays.add(itemizedOverlay);

到目前为止效果很好。但每个标记都是一样的。我现在想要做的是在地图上有不同的标记,就像您在 Google 地图 Web 应用程序上看到的那样(一个标记名为“A”,下一个标记为“B”,依此类推)。 我怎样才能实现这个目标?我是否必须向我的应用程序添加额外的 png 标记文件? (marker_a.png,marker_b.png,...)或者是否有更简单的方法来实现这一点?也可能会有超过 26 个结果,因此我可能需要不同颜色的标记。


答案之一提供了不同的解决方案ItemizedOverlay对于每个标记组。您可以通过单个实现相同的效果ItemizedOverlay通过致电overlayItem.setMarker(drawable)

如果您要从资源加载标记,请不要忘记调用:

drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

在你打电话之前setMarker。否则将不会显示标记。

由于标记是类型Drawable你可以像其他任何人一样获得它们Drawable,包括创建它们运行时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Android 地图上不同命名的标记 的相关文章

随机推荐