#javascript #google-maps #google-maps-markers #marker #markerclusterer
#javascript #google-карты #google-maps-markers #маркер #markerclusterer
Вопрос:
У меня ситуация, когда у меня есть несколько маркеров, расположенных близко друг к другу, но я не могу разделить их для отображения infowindow. Как я могу отделить маркеры от кластера (в данном случае это маркеры A и B)
Вот пример кода и вид карты. вы можете видеть, что D и C являются маркерами дальше, поэтому они разделены. Но A и B не могут быть разделены. Как я могу это решить.
https://jsfiddle.net/t9kdqfwx/
const locations = [
{ lat: -31.56391, lng: 147.154312 }, <-- A close to B
{ lat: -31.56391, lng: 147.154323 }, <-- B close to A
{ lat: -33.66231, lng: 150.254312 },
{ lat: -33.69391, lng: 143.254312 },
];
Вот как я группирую маркеры:
new MarkerClusterer(map, markers_vars, {
imagePath:
"https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m",
});
Ответ №1:
Вам необходимо настроить свой gridSize
. Для опубликованного кода я обнаружил, что 30
он работает и показывает разделенные маркеры.
new MarkerClusterer(map, markers_vars, {
imagePath: "https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m",
gridSize: 30
});
Соответствующая документация: https://googlemaps.github.io/v3-utility-library/interfaces/_google_markerclustererplus.markerclustereroptions.html#gridsize
Вот небольшой инструмент, который я сделал, который позволяет тестировать minimumClusterSize
и gridSize
: http://jsfiddle.net/upsidown/2qdvjc4j /