4 votos

¿Cómo colocar marcadores en el contorno de un círculo en Google Maps?

Tengo el centro de un círculo y su radio y necesito colocar una cantidad variable de marcadores en el contorno/curso del círculo. La distancia entre estos marcadores debe mantenerse igual, por lo que si tengo 8 marcadores para colocar en la órbita, cada uno de ellos tiene un espacio de 45 grados (360 / 8) y tampoco debería estar codificado en duro ya que la cantidad de marcadores es variable.

Quería saber cuál es la manera correcta de calcular las Geo-coordenadas de cada marcador?

Aquí puedes ver un ejemplo, el marcador exterior debería moverse, aunque no puedo calcular los valores LatLng adecuados.

ingresa una descripción de la imagen aquí


Finalmente llegué a esta fórmula:

var dg = 90;
var lat = Math.sin(dg * Math.PI / 180) * r + centro_geo_lat;
var lng = Math.cos(dg * Math.PI / 180) * r + centro_geo_lng;

Si observas las capturas de pantalla, puedes ver que los marcadores en 0 y 180 grados están colocados bastante bien, pero parece que hay algo mal con los otros marcadores. Esto va a funcionar bien para mí, ya que no necesito una precisión perfecta, sin embargo, me pregunto ¿qué está causando el problema?

ingresa una descripción de la imagen aquí

ingresa una descripción de la imagen aquí

3voto

user4698 Puntos 26

Creo que todo se reduce a la proyección que estás utilizando. Parece que tu código es correcto, pero básicamente no puedes asumir que al viajar una unidad longitudinalmente en un mapa se verá igual que la misma distancia en latitud.

Esto tiene una buena explicación de las diferencias en las proyecciones (ver la parte bajo el indicatriz de Tissot):

http://geokov.com/education/map-projection.aspx

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X