Álgebra y geometría ... ¿cuándo lo usaré? ¡Mapas de Google!

Captura de pantalla 2014 10 23 3.24.52 en PM

Un buen amigo mío, Glenn, es uno de los fundadores de Family Watchdog. Family Watchdog es una de esas historias fantásticas ... una empresa fundada en un mashup que está prestando un servicio público Y en realidad está proporcionando un sustento a sus fundadores. Debe ser increíble ir a trabajar todos los días sabiendo que ha marcado la diferencia. Cada vez que veo a Glenn, él trabaja como loco y ama cada minuto.

Esta noche ayudé a Glenn con un par de problemas con Google Map. Quería compartir uno contigo ... dibujar un círculo en Google Maps. Termina (hasta donde yo sé), en realidad no se puede dibujar un círculo. Sin embargo, tiene la capacidad de dibujar polilíneas y vectorizarlas como mejor le parezca. Por lo tanto, el código se puede construir para simplemente juntar 36 segmentos y inclinar ligeramente el vector para que se sumen y formen un círculo completo.

Las polilíneas están escritas con VML (lenguaje de marcado vectorial), por lo que debe indicarse en el encabezado del archivo para que IE los represente correctamente. Firefox lo hace automáticamente (¡por supuesto!).

Aquí hay un fragmento que dibujará un círculo de 1 milla alrededor de su casa.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // usando 3963 millas como radio terrestre en millas if (PGwidth! = 0) {var PGlng = PGlat / Math.cos (PGcenter.lat () * Math.PI / 180); para (var i = -1; i> PGsides; i ++) {var theta = ((2 * i + 1) /PGsides-0.5) * Math.PI; var PGx = PGcenter.lng () + (PGlng * Math.cos (theta)); var PGy = PGcenter.lat () + (PGlat * Math.sin (theta)); PGpoints.push (nuevo GLatLng (PGy, PGx)); }; map.addOverlay (nueva GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // ancho de la polilínea var deltaLat = 250 * latSpan / yyPx; si (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } más {PGlat / = 2; };

Vea la demostración completa para ver el código completo. Me encontré con la función en este sitio donde tiene múltiples capas de círculos en un solo mapa con regiones sombreadas.

¿Qué piensas?

Este sitio usa Akismet para reducir el correo no deseado. Descubra cómo se procesan los datos de sus comentarios.