Algebro kaj Geometrio ... kiam mi iam uzos ĝin? Google mapoj!

Ekrano Shot 2014 10 23 ĉe 3.24.52 PM

Bona amiko mia, Glenn, estas unu el la fondintoj de Family Watchdog. Family Watchdog estas unu el tiuj mirindaj rakontoj ... kompanio fondita sur mashup, kiu plenumas publikan servon KAJ efektive vivtenas siajn fondintojn. Devas esti mirinde labori ĉiutage sciante, ke vi faris diferencon. Ĉiufoje, kiam mi vidas Glenn, li laboras kiel freneza kaj amas ĉiun minuton de ĝi.

Ĉi-vespere mi helpis Glenn pri kelkaj problemoj pri Google Map. Mi volis dividi unu kun vi ... desegnante cirklon en Google Maps. Ĝi finiĝas (laŭ mia scio), vi ne povas efektive tiri cirklon. Tamen vi havas la kapablon desegni poliliniojn kaj vektorigi ilin laŭ via plaĉo. Do la kodo povas esti kreita por simple kunmeti 36 segmentojn kaj iomete anguli la vektoron tiel ke ili sumiĝu kaj konstruu kompletan cirklon!

La polilinioj estas skribitaj per VML (vekta markolingvo), do ĝi devas esti indikita en la kaplinio de la dosiero por ke IE taŭge redonu ilin. Fajrovulpo faras ĝin aŭtomate (kompreneble!).

Jen fragmento, kiu tiros cirklon ĉirkaŭ unu mejlon ĉirkaŭ via hejmo.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // uzante 3963 mejlojn kiel tera radiuso en mejloj se (PGwidth! = 0) {var PGlng = PGlat / Math.cos (PGcenter.lat () * Math.PI / 180); por (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 (nova GLatLng (PGy, PGx)); }; map.addOverlay (nova GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // larĝo de plurlinia var deltaLat = 250 * latSpan / yyPx; if (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } else {PGlat / = 2; };

Rigardu la tutan demonstraĵon por vidi la kodon komplete. Mi okazis tra la funkcio ĉe ĉi tiu retejo, kie li havas plurajn tavolojn de cirkloj sur unu mapo kun ombritaj regionoj.

Kion vi pensas?

Ĉi tiu retejo uzas Akismeton por redukti spamon. Lernu, kiel via komento datiĝas.