如何为 Google 地图指定自定义聚类标记

2024-02-05

我有一个带有标记和聚类的谷歌地图。

我可以使用如下代码轻松更改标记图标:

marker = new google.maps.Marker({
    position: {
        lat: location_data.lat,
        lng: location_data.lng
    },
    map: map,
    icon: img_url + 'map-marker.svg',
});

但是,我一直坚持更改集群图标。此代码可以很好地进行实际的聚类:

const marker_clusterer = new markerClusterer.MarkerClusterer({
    map: map,
    markers: markers
});

我发现那里的代码表明了这一点:

const marker_clusterer = new markerClusterer.MarkerClusterer({
    map: map,
    markers: markers,
    renderer: {
        imagePath: img_url + 'map-cluster'
    }
});

Where map-cluster是一堆文件的前缀,例如map-cluster1.svg。这给了我错误:“未捕获的类型错误:e.renderer.render不是函数”。

我也尝试过这个:

const marker_clusterer = new markerClusterer.MarkerClusterer({
    map: map,
    markers: markers,
    renderer: {
        styles: [{
            url: img_url + 'map-cluster1.svg',
        }]
    }
});

为此我再次遇到同样的错误。

还有其他代码示例似乎与我已经使用的代码没有任何关系,大量自定义对象(例如https://gabrielwadi.medium.com/custom-cluster-marker-for-google-maps-how-to-8a7b858e2879 https://gabrielwadi.medium.com/custom-cluster-marker-for-google-maps-how-to-8a7b858e2879)。 API 文档只是指向这种无用的页面:https://googlemaps.github.io/js-markerclusterer/interfaces/MarkerClustererOptions.html#renderer https://googlemaps.github.io/js-markerclusterer/interfaces/MarkerClustererOptions.html#renderer我想我没有正确指定自定义“渲染器”,但我发现的所有代码示例要么很简单并且不起作用(如上),要么太复杂以至于我不知道从哪里开始。

有人有任何指点吗?我正在参考https://maps.googleapis.com/maps/api/js https://maps.googleapis.com/maps/api/js作为我的主要 API 脚本,以及https://unpkg.com/@googlemaps/markerclusterer/dist/index.min.js https://unpkg.com/@googlemaps/markerclusterer/dist/index.min.js用于聚类。


MarkerClusterer 期望与渲染方法的接口 https://googlemaps.github.io/js-markerclusterer/interfaces/Renderer.html:

const renderer = {
  render: ({ count, position }) =>
    new google.maps.Marker({
      label: { text: String(count), color: "white", fontSize: "10px" },
      position,
      // adjust zIndex to be above other markers
      zIndex: Number(google.maps.Marker.MAX_ZINDEX) + count,
    }),
};

new markerClusterer.MarkerClusterer({
  map,
  markers,
  renderer,
});

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

如何为 Google 地图指定自定义聚类标记 的相关文章

  • 以编程方式设置谷歌地图片段可见性(API2)

    xml
  • Google 使用折线和标记绘制地图性能

    我们正处于决策点 哪种技术将用于我们的高负载航班优惠地图 有一个简单的测试 http buruki com gmap http buruki com gmap但如果我选择伦敦或莫斯科 他们有约 200 300 个航班目的地 大多数浏览器 当
  • 如何从谷歌地图中的纬度和经度获取地址位置? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 所以我有纬度和经度就像44 4647452 and 7 3553838 我需要获得如下地址 米兰 意大利 str 肯尼迪 89 我怎样才能
  • 从后台恢复后,Flutter GoogleMap 为空白

    我遇到以下问题 我的 Flutter 应用程序使用 GoogleMap 地图最初加载得很好 但是 如果我将应用程序置于后台并稍后恢复 地图将保持空白 Google 徽标仍然显示 就像未指定 API 密钥时发生的情况一样 我的多边形叠加层也不
  • Python,Google Places API - 给定一组纬度/经度查找附近的地点

    我有一个由商店 ID 及其纬度 经度组成的数据框 我想迭代该数据框 并使用 google api 为每个商店 ID 查找附近的关键地点 例如输入 Store ID LAT LON 1 1 222 2 222 2 2 334 4 555 3
  • 如何使用 Google Maps for Android V2 处理地图移动结束?

    我想在地图中心更改后立即对地址进行地理编码 如何使用新的 Android 版 Google 地图 V2 处理地图移动 我说的是用户用手指拖动地图的情况 查看新的地图 API Override public void onMapReady G
  • android-如何在谷歌地图上将标记的位置显示为地址

    我已经尝试过 commonsware googlemapsv2 教程 特别是在地图上拖动标记 但现在另一个问题困扰着我 问题是如何将标记的当前位置显示为地图下方或上方的地址 字符串 这是我使用的代码 public class MainAct
  • SphericalUtil.computeDistanceBetween() 与 Location.distanceBetween()

    Google Maps Android API 实用程序库有什么区别SphericalUtil computeDistanceBetween http googlemaps github io android maps utils java
  • 平滑 GPS 跟踪的路线坐标

    我有一些记录的坐标数据 不幸的是 他们似乎不太好 他们有时会跳过地图 所以现在我正在寻找一些扁平化或过滤算法 使路线看起来更真实 目前 我唯一的过滤器是计算一秒钟内 公交车 汽车或步行 行驶的最大可能米数 并将它们与坐标进行比较 扔掉那些在
  • 谷歌地图上的自定义标记

    问题详情 显示默认图标 我期待标记的自定义图标 我在下面的代码中遗漏了什么吗 我正在使用 Laravel 5 6 12 和 vue js 并尝试在谷歌地图中显示自定义图标 我的代码在模板下面
  • Google 地图 v3 信息窗口太宽

    在 Google 地图 v3 中 我似乎无法使 infoWindow 的宽度小于 200px 这是我正在使用的代码 var latlng new google maps LatLng 34 397 150 644 var myOptions
  • 在android中获取谷歌地图中的地名

    我有一个要求 每当我拖动 浏览 Google 地图并在其上放置标记时 它都应该在 AutocompleteTextview 中显示地点名称 放置标记的位置 我已经检查了 Places API 和 Geocoder 类 但我最不理解它 我需要
  • 使用地理编码器和 android Google Maps API v2 获取纬度和经度

    我正在使用适用于 Android 的 Google Maps API v2 并且工作正常 但是 我尝试使用地理编码器来获取地址的经度和纬度 但没有成功 v2 的方式已经改变了吗 我使用的是常规代码 Geocoder gc new Geoco
  • 有没有办法使用 openURL 将 pin 放入 google 地图 iphone 应用程序中?

    我想创建一个 iPhone 应用程序 可以打开谷歌地图应用程序并在地图上放置图钉 我有图钉的确切位置 由其经度和纬度指定 我还有一个引脚名称 例如 位置 1 应与图钉一起显示 我知道 UIApplication openURL 可用于此目的
  • 谷歌地图 - 缩放时保持居中

    在 Google 地图中 我希望在放大或缩小时能够将地图中心保持在我所在位置的标记上 这是 Ingress 所做的事情 无论您在何处双击 或双击 或在何处捏合 地图都会保持以标记为中心 所以有可能 我现在想到的最好的是 google map
  • 在 Google 地图上显示路径时出现问题

    我有多个经度和纬度点 例如 1 long lat starting point 2 long lat 3 long lat 4 long lat 我的代码如下
  • 如何在谷歌地图中隐藏当前位置? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我在我的项目中实现了谷歌地图 我想隐藏默认的当前位置标记 请参阅附图 但是 我需要显示允许转到我当前位置的按钮 标记在右上角 您可以使用 G
  • 谷歌地图 fitBounds 带填充? [复制]

    这个问题在这里已经有答案了 我们想要这样的东西传单 fitBounds https stackoverflow com questions 19407985 leaflet js fitbounds with padding在我们的谷歌地图
  • 在Java桌面应用程序中嵌入谷歌地图

    我想在 JPanel 上嵌入谷歌地图 由于我想要放大 缩小等功能 因此使用静态图像是不可行的 为了实现这一点 我可能需要在我的 Java 桌面应用程序中嵌入一个网页 显示谷歌地图 我读到我需要像 WebKit 替代品 这样的东西来完成这个任
  • 在 swift 中实现自定义markerInfoWindow不起作用

    我一直在使用下面发布的方法来显示自定义信息窗口 但是每当我运行它时 只显示默认窗口 带有标题 片段 我已经为以下方法创建了 xib 和 swift 文件 并且我尝试使用标准函数表示法 即 mapView mapView markerInfo

随机推荐