Algebra en Meetkunde ... wanneer sal ek dit ooit gebruik? Google kaarte!

Skermskoot 2014 10 23 by 3.24.52 PM

'N Goeie vriend van my, Glenn, is een van die stigters van Family Watchdog. Family Watchdog is een van die fantastiese verhale ... 'n maatskappy wat gebaseer is op 'n mashup wat 'n staatsdiens verrig EN eintlik 'n bestaan ​​lewer vir sy stigters. Dit moet ongelooflik wees om elke dag werk toe te gaan met die wete dat u 'n verskil gemaak het. Elke keer as ek Glenn sien, werk hy soos 'n gek en hou elke minuut daarvan.

Vanaand het ek Glenn gehelp met 'n paar Google Map-kwessies. Ek wou een met u deel ... teken 'n sirkel op Google Maps. Dit beland (sover ek weet), jy kan nie eintlik 'n sirkel trek nie. U het egter die vermoë om polylines te teken en dit te vektor soos u dit goedvind. Die kode kan dus gebou word om net 36 segmente bymekaar te sit en die vektor effens te laat kantel sodat dit 'n volledige sirkel optel!

Die polelyne word met geskryf VML (vector-opmaaktaal), dus moet dit in die kopkop van die lêer aangedui word sodat IE dit behoorlik kan weergee. Firefox doen dit outomaties (natuurlik!).

Hier is 'n uittreksel wat 'n sirkel van 1 kilometer om u huis sal trek.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // die gebruik van 3963 myl as aarde se radius in myl as (PGwidth! = 0) {var PGlng = PGlat / Math.cos (PGcenter.lat () * Math.PI / 180); vir (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 (nuwe GLatLng (PGy, PGx)); }; map.addOverlay (nuwe GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } anders {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // breedte van polylien var deltaLat = 250 * latSpan / yyPx; if (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } anders {PGlat / = 2; };

Kyk na die volledige demo om die kode volledig te sien. Ek het die funksie op hierdie werf waar hy verskeie lae sirkels op 'n enkele kaart met skaduryke streke gehad het.

Wat dink jy?

Hierdie webwerf gebruik Akismet om spam te verminder. Leer hoe jou opmerking verwerk is.