Algebra at Geometry ... kailan ko ito magagamit? Mapa ng Google!

Screen Shot 2014 10 23 sa 3.24.52 PM

Ang isang mabuting kaibigan ko, si Glenn, ay isa sa mga nagtatag ng Family Watchdog. Ang Family Watchdog ay isa sa mga kamangha-manghang kwento ... isang kumpanya na itinatag sa isang mashup na gumaganap ng isang pampublikong serbisyo AT talagang nagbibigay ng kabuhayan para sa mga nagtatag nito. Dapat maging kamangha-manghang magtrabaho araw-araw na alam na may pagkakaiba ka. Sa tuwing nakikita ko si Glenn, nagtatrabaho siya na parang baliw at mapagmahal sa bawat minuto nito.

Ngayong gabi natulungan ko si Glenn sa isang pares ng mga isyu sa Google Map. Nais kong ibahagi sa iyo ang isa… pagguhit ng isang bilog sa Google Maps. Hangin ito (sa pagkakaalam ko), hindi ka talaga makakaguhit ng isang bilog. Gayunpaman, mayroon kang kakayahang gumuhit ng mga polyline at i-vector ang mga ito ayon sa iyong nababagay. Kaya, maaaring maitayo ang code upang simpleng magkasama ang 36 na mga segment at bahagyang anggulo ang vector upang magdagdag sila at bumuo ng isang kumpletong bilog!

Ang mga polyline ay nakasulat sa VML (vector markup language), kaya't dapat itong ipahiwatig sa header ng file para maayos na maibigay ng IE ang mga ito. Awtomatiko itong ginagawa ng Firefox (syempre!).

Narito ang isang snippet na iguhit ang isang bilog na 1 milya sa paligid ng iyong tahanan.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // using 3963 miles as Earth's radius in miles if (PGwidth! = 0) {var PGlng = PGlat / Math.cos (PGcenter.lat () * Math.PI / 180); para sa (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 (bagong GLatLng (PGy, PGx)); }; map.addOverlay (bagong GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } iba pa {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // width of polyline var deltaLat = 250 * latSpan / yyPx; kung (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } iba pa {PGlat / = 2; };

Tingnan ang buong demo upang makita ang code nang buo. Naganap ako sa pag-andar sa site na ito kung saan marami siyang mga layer ng bilog sa isang solong mapa na may mga shade na rehiyon.

Ano sa tingin ninyo?

Ang site na ito ay gumagamit ng Akismet upang mabawasan ang spam. Alamin kung paano naproseso ang data ng iyong komento.