【发布时间】:2012-04-09 17:59:32
【问题描述】:
我正在使用谷歌地图开发应用程序,所以我想为每个自定义地点定义一个自定义标记,例如(加油站-酒店-医院..)!我有一个包含许多地方的纬度和经度的覆盖类,我想知道如何提供自定义图标!
【问题讨论】:
我正在使用谷歌地图开发应用程序,所以我想为每个自定义地点定义一个自定义标记,例如(加油站-酒店-医院..)!我有一个包含许多地方的纬度和经度的覆盖类,我想知道如何提供自定义图标!
【问题讨论】:
使用新的 Maps Api 为 Marker 设置图标是通过以下代码完成的:
MarkerOptions markerOptions = new MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_location));
创建标记后无法更改图标。要更改图标,请移除标记并使用新图像读取它。
【讨论】:
使用 APi v2,您可以通过 (markerObject).setIcon(BitmapDescriptor) 更改/设置标记图像。
【讨论】:
OverlayItem.setMarker 似乎是您正在寻找的方法。
请注意,您需要注意(或曾经有)a gotcha;您首先需要使用Drawable.setBounds 设置drawable 的可见边界,然后才能正确渲染它。可能需要一些摆弄才能使其居中;见this answer。
【讨论】:
改变地图图标的颜色:
mMap.addMarker(new MarkerOptions().position(baitulMosque).title("Baitul Mosque").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN)));
【讨论】: