Algebra a geometrie… kdy ji kdy použiji? Google mapy!

Screen Shot 2014 10 23 3.24.52 na PM

Můj dobrý přítel, Glenn, je jedním ze zakladatelů Family Watchdog. Rodinný hlídací pes je jedním z těch fantastických příběhů ... společnost založená na mashupu, která vykonává veřejnou službu A ve skutečnosti poskytuje život svým zakladatelům. Musí být úžasné každý den chodit do práce s vědomím, že jste udělali rozdíl. Pokaždé, když vidím Glenna, pracuje jako blázen a miluje každou minutu.

Dnes večer jsem pomohl Glennovi s několika problémy s Mapami Google. Chtěl jsem s vámi jeden sdílet ... nakreslit kruh na Mapách Google. Skončí to (pokud vím), ve skutečnosti nemůžete nakreslit kruh. Máte však možnost kreslit křivky a vektorovat je, jak uznáte za vhodné. Kód tedy může být sestaven tak, aby jednoduše dal dohromady 36 segmentů a mírně naklonil vektor tak, aby se sečetly a vytvořily kompletní kruh!

Křivky jsou psány VML (vektorový značkovací jazyk), takže pro jejich správné vykreslení musí být IE uveden v záhlaví souboru. Firefox to dělá automaticky (samozřejmě!).

Tady je úryvek, který nakreslí kruh 1 míli kolem vašeho domova.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // použití 3963 mil jako poloměr Země v mil 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 (nový GLatLng (PGy, PGx)); }; map.addOverlay (nový GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // šířka křivky var deltaLat = 250 * latSpan / yyPx; if (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } else {PGlat / = 2; };

Zobrazit celou ukázku a zobrazit celý kód. Stal jsem se napříč funkcí na tomto webu, kde má několik vrstev kruhů na jedné mapě se stínovanými oblastmi.

Co si myslíte?

Tyto stránky používají Akismet k omezení spamu. Zjistěte, jak jsou vaše údaje komentářů zpracovávány.