Кластер карт Google не разделяет близкие друг к другу маркеры для отображения информации в InfoWindow

#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 /