14

Tengo alrededor de 5000 marcadores que debo representar en Google Map. Actualmente estoy usando la API (v3) y hay problemas de rendimiento en máquinas más lentas, especialmente en IE. He hecho lo siguiente ya para ayudar a acelerar las cosas:Google Maps API v3, muchos marcadores, clústeres y rendimiento

  1. utilizado una clase simple marcador que se extiende OverlayView y hace un solo elemento DIV por marcador de
  2. Implementado la biblioteca MarkerClusterer para agrupar los marcadores en diferentes niveles
  3. Renderizar GIF para IE, en lugar de alfa PNG

¿Hay clases más rápidas de clúster? ¿Algún otro consejo? Estoy tratando de evitar la agrupación del lado del servidor a menos que esta sea la única opción que queda para exprimir el rendimiento del sistema.

Gracias

+4

Supongo que ha leído http://code.google.com/apis/maps/articles/toomanymarkers.html especialmente FusionTablesLayer – macarthy

+0

Estoy utilizando la biblioteca MarkerClusterer de esa página. El rendimiento de IE6 sigue siendo atroz cuando se renderiza una gran cantidad de cosas en el mapa (incluso cuando están en clúster) y realmente estoy buscando formas de mejorar ese navegador en particular. – JamieNewman

+1

Sé que esto es viejo pero, ¿cuántos usuarios tiene ese uso IE6? – Tony

Respuesta

5

que utilizan un método que carga todos los marcadores en la página, y luego escucha el mapa para terminar la panorámica.

Cuando el mapa ha finalizado la panoramización, primero verifico el nivel de acercamiento; si es demasiado alto, no muestro nada. Si está en un nivel aceptable, recorro los marcadores que he almacenado y veo si caen en el cuadro delimitador del mapa. Si lo hacen, se agregan. Un segundo ciclo luego elimina cualquier que se haya movido fuera de la vista.

El número más alto que he usado es de aproximadamente 30,000 marcadores con este método, aunque lo tengo así que debe acercarse bastante para verlos. En áreas de mayor concentración de marcadores, obviamente es un poco más lento pero es utilizable.

0

La solución mencionada anteriormente funciona para un número mucho mayor de marcadores. Lo usamos para millones de puntos de GPS en back-end (incluidos polígonos, etc.). El único problema es una lógica subyacente, como el almacenamiento en memoria caché adecuado de las consultas espaciales, o la búsqueda de nuevos resultados solamente, si el usuario mueve un mapa de más de X metros. Hay mucho trabajo para hacerlo, pero para ver un gran número de puntos, no hay nada mejor.

Los clústeres de marcador generalmente funcionan en el lado del navegador, por lo que aún es necesario cargar todos los puntos a la vez, lo que hace que este método no se pueda utilizar para números grandes.

Puede verlo en http://www.tixik.com/london-2354567.htm en vivo (simplemente haga clic en "planear un viaje" y comience a planificar. Intente mover un mapa, acercar o alejar y todos los puntos se mostrarán/ocultarán en el zoom/arrastre del mapa

+1

las respuestas no tienen un orden fijo, un comentario parece ser la forma más apropiada para su texto – johannes

+1

demasiado larga por 171 caracteres – iambriansreed

Cuestiones relacionadas