Tenho vários milhares de marcadores armazenados em um arquivo kmz que carrego no Google Maps (v3 API).
Eu olhei em volta para encontrar uma maneira de agrupar os dados de sobreposição, mas sem sucesso.
MarkerClusterer parece bom, mas parece funcionar apenas com uma matriz de marcadores?
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(25,-20);
var myOptions = {
zoom: 2,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var ctaLayer = new google.maps.KmlLayer('thedata.kmz');
ctaLayer.setMap(map);
//cluster
var mcOptions = {gridSize: 50, maxZoom: 15};
var mc = new MarkerClusterer(map, ctaLayer, mcOptions);
}
Como posso agrupar os marcadores na sobreposição, assim como o markerclusterer faz isso?
fonte
Isso é possível. Você pode usar uma biblioteca de analisador Javascript KML que permite acessar todos os dados em cada marcador.
No Maps V2, o melhor estava aqui:
econym.org.uk/gmap/egeoxml.htm
Na V3, você pode usar um destes 2:
code.google.com/p/geoxml3/
code.google.com/p/geoxml/
Uma vez usado, você pode fazer coisas como percorrer cada marcador KML e usar o javascript para agrupar pontos no mesmo local e usar o JS para mostrar janelas de informações diferentes para cada marcador no mesmo local.
Eu faço isso no meu site Your Mapper aqui. Clique em um marcador numerado preto para vê-lo em ação:
http://www.yourmapper.com/map/111/crime-reports/crime-in-metro-louisville-ky-since-jan-2003.htm
fonte