Pregunta

Estoy usando un mapa de Google estática, pero en realidad este problema podría aplicarse a cualquier proyecto de mapas. Quiero dividir un mapa en múltiples cuadrantes (de, por ejemplo 50x50 píxeles) y la etiqueta de las columnas como A, B, C .... y las filas como 1, 2, 3 ...

Plan siguiente que hacer algo como:

1) Encontrar los marcadores que son más al norte, este, sur y oeste 2) Usar esa información para definir las dimensiones de las cajas de cada cuadro de fila y columna 3) Clasificar cada marcador por su fila y columna (Ejemplo Marcador 1 = [A, 2])

A los pocos requisitos,

  • No sé el nivel de zoom, porque dejo que Google establece el nivel de zoom adecuada para mí y yo preferiría no utilizar un algoritmo que depende de un nivel de zoom. Sin embargo lo que sí sé las ubicaciones de todos los marcadores que se muestran en el mapa.

Este es un ejemplo de un mapa que me gustaría para clasificar los marcadores para, estática mapa ejemplo enlace

He encontrado estos que parecen un buen inicio, de Recursos 1 , Recurso 2

Pero creo que todavía estoy en necesidad de ayuda para empezar. ¿Alguien puede ayudar a escribir algunos pseudo-código o publicar unos pocos más recursos? Soy una especie de en un punto muerto en el momento.

Gracias! Muy apreciado de cualquier ayuda!

¿Fue útil?

Solución

Ok dos días en este finalmente consiguieron. Pensé que podría compartir mis pensamientos con personas que tropiezan con esto más adelante.

Siguiendo el código PHP en este sitio y para la traducción de lat, lng pares de coordenadas de píxeles, yo era capaz de clasificar la fila pixel individual por el valor x y la columna por los píxeles valor y.

Para calcular el nivel de zoom, se determinan los valores de maxLat, maxLng, minLat y minLng definidos por la colección de marcadores. A continuación, he calculado los límites del mapa a un nivel de zoom determinado. Finalmente he usado un método de fuerza bruta de comprobar si los nuevos límites del mapa determinadas por el nivel de zoom incluiría los límites definidos por la max, min lat, GNL valores de la colección de marcadores. A partir del nivel de zoom 21 (zoom máximo en los mapas de Google) que disminuir el nivel de zoom hasta que encuentre a un nivel de zoom que incluye todos los marcadores.

Parece que el nivel de zoom que se calcula en este método coincide con el nivel de zoom preestablecido de Google selecciona automáticamente si no se proporciona un nivel de zoom de un mapa estático.

En PHP hay una buena biblioteca para hacer todo esto aquí .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top