Algebra in geometrija ... kdaj jo bom kdaj uporabil? Google zemljevidi!

Zaslonski posnetek 2014 10 23 na 3.24.52 PM

Moj dobri prijatelj Glenn je eden od ustanoviteljev Family Watchdoga. Family Watchdog je ena izmed tistih fantastičnih zgodb ... podjetje, ustanovljeno na mešanici, ki opravlja javne storitve IN dejansko zagotavlja preživetje svojih ustanoviteljev. Mogoče je neverjetno iti vsak dan v službo, saj veš, da si kaj spremenil. Vsakič, ko vidim Glenna, vsako minuto dela kot nor in ljubi.

Nocoj sem Glennu pomagal pri nekaj težavah z Google Mapom. Želel sem ga deliti z vami ... risanje kroga v Google Zemljevidih. Zavije (kolikor vem), pravzaprav ne morete narisati kroga. Vendar pa lahko risate polilinije in jih vektorirate, kot se vam zdi primerno. Tako lahko kodo sestavimo tako, da preprosto sestavimo 36 segmentov in rahlo nagnemo vektor, tako da se seštejejo in zgradijo celoten krog!

Ločnice so zapisane z VML (vektorski označevalni jezik), zato mora biti v glavi datoteke označen, da jih IE pravilno upodablja. Firefox to naredi samodejno (seveda!).

Tu je delček, ki bo narisal krog 1 miljo okoli vašega doma.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // z uporabo 3963 milj kot polmera zemlje v miljah, če (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 (nov GLatLng (PGy, PGx)); }; map.addOverlay (nova GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // širina premice var deltaLat = 250 * latSpan / yyPx; if (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } sicer {PGlat / = 2; };

Oglejte si celotno predstavitev, da si v celoti ogledate kodo. Na tej spletni strani sem se srečal s funkcijo, kjer ima na enem zemljevidu s senčenimi regijami več slojev krogov.

Kaj menite?

Ta stran uporablja Akismet za zmanjšanje nezaželene pošte. Preberite, kako se vaš komentar obravnava.