我有一张谷歌地图,上面放置了标记并进行了聚类。
我可以轻松通过以下代码更改标记图标:
我发现了一些代码,建议如下:
我再次遇到了同样的错误。
其他示例代码似乎与我已经使用的代码没有任何关系,有大量自定义对象(例如https://gabrielwadi.medium.com/custom-cluster-marker-for-google-maps-how-to-8a7b858e2879)。API文档只指向这种无用的页面:https://googlemaps.github.io/js-markerclusterer/interfaces/MarkerClustererOptions.html#renderer 我猜我没有正确指定自定义 'renderer',但我找到的所有代码示例要么太简单不起作用(如上所述),要么过于复杂,我不知道从哪里开始。
请问是否有人有任何指针?我将https://maps.googleapis.com/maps/api/js作为我的主API脚本,并将https://unpkg.com/@googlemaps/markerclusterer/dist/index.min.js用于聚类。
我可以轻松通过以下代码更改标记图标:
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'
}
});
这里的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)。API文档只指向这种无用的页面:https://googlemaps.github.io/js-markerclusterer/interfaces/MarkerClustererOptions.html#renderer 我猜我没有正确指定自定义 'renderer',但我找到的所有代码示例要么太简单不起作用(如上所述),要么过于复杂,我不知道从哪里开始。
请问是否有人有任何指针?我将https://maps.googleapis.com/maps/api/js作为我的主API脚本,并将https://unpkg.com/@googlemaps/markerclusterer/dist/index.min.js用于聚类。