Algebra e Geometria ... quando mai la userò? Google Maps!

Screen Shot 2014 10 23 a 3.24.52 PM

Un mio buon amico, Glenn, è uno dei fondatori di Family Watchdog. Family Watchdog è una di quelle storie fantastiche ... un'azienda fondata su un mashup che svolge un servizio pubblico E fornisce effettivamente da vivere ai suoi fondatori. Deve essere fantastico andare a lavorare ogni giorno sapendo di aver fatto la differenza. Ogni volta che vedo Glenn, lavora come un matto e ne ama ogni minuto.

Stasera ho aiutato Glenn con un paio di problemi con Google Map. Volevo condividerne uno con te ... disegnando un cerchio su Google Maps. Finisce (per quanto ne so), non puoi effettivamente disegnare un cerchio. Tuttavia, hai la possibilità di disegnare polilinee e vettorializzarle come meglio credi. Quindi, il codice può essere costruito per mettere semplicemente insieme 36 segmenti e inclinare leggermente il vettore in modo che si sommino e costruiscano un cerchio completo!

Le polilinee vengono scritte con VML (linguaggio di markup vettoriale), quindi deve essere indicato nell'intestazione del file affinché IE possa renderli correttamente. Firefox lo fa automaticamente (ovviamente!).

Ecco uno snippet che disegnerà un cerchio di 1 miglio intorno a casa tua.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // usando 3963 miglia come raggio terrestre in miglia if (PGwidth! = 0) {var PGlng = PGlat / Math.cos (PGcenter.lat () * Math.PI / 180); for (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 (nuovo GLatLng (PGy, PGx)); }; map.addOverlay (nuovo GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } altro {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // larghezza della polilinea var deltaLat = 250 * latSpan / yyPx; se (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } altro {PGlat / = 2; };

Visualizza l'intera demo per vedere il codice per intero. Mi sono imbattuto nella funzione in questo sito in cui ha più livelli di cerchi su una singola mappa con regioni ombreggiate.

Cosa ne pensi?

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati dei tuoi commenti.