Tengo varios miles de marcadores almacenados en un archivo kmz que cargo en un Google Maps (v3 API).
He buscado alrededor para encontrar una manera de agrupar los datos de superposición, pero fue en vano.
MarkerClusterer se ve bien, pero solo parece funcionar con una 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);
}
¿Cómo puedo agrupar los marcadores en la superposición, tal como lo hace el marcador de marcadores?
fuente
Esto es posible. Puede usar una biblioteca de analizador KML Javascript que le permite acceder a todos los datos en cada marcador.
En Maps V2, el mejor estaba aquí:
econym.org.uk/gmap/egeoxml.htm
En V3 puedes usar uno de estos 2:
code.google.com/p/geoxml3/
code.google.com/p/geoxml/
Una vez utilizado, puede hacer cosas como recorrer cada marcador KML, y usar javascript para agrupar puntos en la misma ubicación, y usar JS para mostrar diferentes ventanas de información para cada marcador en el mismo lugar.
Lo hago en mi sitio de Your Mapper aquí. Haga clic en un marcador numerado negro para verlo en acción:
http://www.yourmapper.com/map/111/crime-reports/crime-in-metro-louisville-ky-since-jan-2003.htm
fuente