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.