Algebra a geometria ... kedy ju vôbec použijem? Google Mapy!

Snímka obrazovky 2014 10 23 pri 3.24.52 PM

Môj dobrý priateľ, Glenn, je jedným zo zakladateľov Family Watchdog. Rodinný strážny pes je jedným z tých fantastických príbehov ... spoločnosť založená na mashupe, ktorá vykonáva verejné služby A skutočne poskytuje život svojim zakladateľom. Musí byť úžasné každý deň chodiť do práce s vedomím, že ste niečo zmenili. Zakaždým, keď vidím Glenna, pracuje ako blázon a miluje každú minútu.

Dnes večer som pomohol Glennovi s niekoľkými problémami s mapou Google. Chcel som s vami zdieľať jeden ... nakreslenie kruhu v Mapách Google. Skončí to (pokiaľ viem), v skutočnosti nemôžete nakresliť kruh. Máte však možnosť kresliť čiary a vektorovať ich, ako uznáte za vhodné. Kód teda možno zostaviť tak, že jednoducho spojí 36 segmentov a mierne nakloní vektor, aby sa spojili a vytvorili úplný kruh!

Na lomenej čiare sa píše VML (vektorový značkovací jazyk), takže pre ich správne vykreslenie musí byť v hlavičke súboru uvedený IE. Firefox to robí automaticky (samozrejme!).

Tu je úryvok, ktorý nakreslí kruh 1 kilometer okolo vášho domova.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // použitie 3963 míľ ako polomeru zeme v míľach if (PGwidth! = 0) {var PGlng = PGlat / Math.cos (PGcenter.lat () * Math.PI / 180); pre (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 (nový GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // šírka krivky var deltaLat = 250 * latSpan / yyPx; if (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } else {PGlat / = 2; };

Prezrite si celú ukážku a pozrite si celý kód. Náhodou som narazil na funkciu na tomto webe, kde má viac vrstiev kruhov na jednej mape so tieňovanými oblasťami.

Čo si myslíte?

Táto stránka používa Akismet na zníženie spamu. Zistite, ako sa spracúvajú údaje vašich komentárov.