android - 谷歌地图自定义标记图标,在 Android 上具有集群功能

标签 android google-maps google-maps-markers android-maps-utils

我已经实现了Google Maps Clustering的代码

这是我 Activity 中的代码

private void setUpClusterer() {
    mClusterManager = new ClusterManager<StoreItem>(this, mMap);
    mMap.setOnCameraChangeListener(mClusterManager);
    mMap.setOnMarkerClickListener(mClusterManager);
}

public void addItems(List<Store> stores) {
    for (Store store : stores) {
        mClusterManager.addItem(new StoreItem(store.getImage(), store.getLocation().getLatitude(), store.getLocation().getLongitude()));
    }
}

private void removeAllItems() {
    mClusterManager.clearItems();
}

这是 StoreItem 类

public class StoreItem implements ClusterItem {

    private String url;
    private final LatLng mPosition;

    public StoreItem(String url, double lat, double lng) {
        this.url = url;
        mPosition = new LatLng(lat, lng);
    }

    @Override
    public LatLng getPosition() {
        return mPosition;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }
}

现在,我想通过 StoreItem 类中的 url 参数更改标记图标。

我该怎么做?

最佳答案

考虑覆盖 onBeforeClusterRendered .类似的东西会起作用:

BitmapDescriptor descriptor = BitmapDescriptorFactory.fromBitmap(here_goes_your_bitmap);
markerOptions.icon(descriptor);

请记住,代码仅供示例使用。您必须手动将文本添加到位图并添加一些缓存机制以供实际使用。你可以看到源代码 DefaultClusterRenderer sample 。

关于android - 谷歌地图自定义标记图标,在 Android 上具有集群功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38440000/

相关文章:

android - 使用基于Cordova框架开发的混合应用程序打开默认邮件应用程序

android - GameHelper登录失败但不是GoogleAPIClient的登录

java - 从 SQlite 检索字符串并转换为 SQL 日期

ios - 如何在 Swift 中实现 GMUClusterRenderer

安卓 : Google map showing multi location

android - 如何在谷歌地图android上连续移动与谷歌默认当前位置标记相同的标记

android - 无法在已 root 的 Android 设备中打开/data 文件夹

java - Android Studio 谷歌地图自定义 map ,只想显示自定义 map 但使用谷歌地图功能

ios - 禁止 iPad 在谷歌地图上创建地标

javascript - 如何在 Ionic/Cordova 应用程序中保护我的 Google Maps Javascript V3 API key ?