I moved to android-maps-extensions for clustering. But I want to change the icons of the markers during runtime. In the original google maps lib markers have a setIcon method, that is missing in the extension lib. Would it be feasible to add the method to the Marker implementation or should I look for another workaround like deleting the marker and add a new one instead of changing the icon?
问问题
1640 次
2 回答
0
如果要实现自定义聚类图标
做这个 ..........
for (Cluster cluster : clusterList) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inMutable = true;
options.inPurgeable = true;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.cluster_marker, options);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColor(getResources().getColor(R.color.white));
paint.setTextSize(30);
canvas.drawText(String.valueOf(cluster.getMarkerList().size()), 10,
40, paint);
googleMap.addMarker(new MarkerOptions()
.position(
new LatLng(cluster.getClusterLatitude(), cluster
.getClusterLongitude()))
.snippet(String.valueOf(cluster.getMarkerList().size()))
.title("Cluster")
.icon(BitmapDescriptorFactory.fromBitmap(bitmap)));
}
其中集群标记是我的可绘制对象,我正在上面写文字。
于 2013-10-03T07:34:28.980 回答
0
1.3.1版本可以直接从项目网站下载,没有setIcon
添加。
当前状态是即将发布 1.4 版本,它包括setIcon
和setAnchor
. 我在将 zip 文件上传到 code.google.com 时遇到了一些问题。
如果您不想使用 git 克隆存储库,可以从 GitHub 存储库获取最新版本:https ://github.com/mg6maciej/android-maps-extensions/archive/master.zip
请注意,这setIcon
仅适用于Marker
您添加到地图的 s。您暂时无法以这种方式更改集群图标。
编辑:
更改ClusterMarker.setIcon
代码
@Override
public void setIcon(BitmapDescriptor icon) {
throw new UnsupportedOperationException();
}
类似于:
@Override
public void setIcon(BitmapDescriptor icon) {
if (virtual != null) {
virtual.setIcon(icon);
}
}
在大多数情况下应该可以工作。
于 2013-08-07T16:48:21.360 回答