Algebra ug Geometry… kanus-a man nako kini gamiton? Google Maps!

Screen Shot 2014 10 23 sa 3.24.52 PM

Ang usa nako ka maayong higala, si Glenn, usa sa mga nagpundar sa Family Watchdog. Ang Family Watchdog usa sa mga maayong istorya… usa ka kompanya nga gitukod sa mashup nga naghimo serbisyo publiko ug tinuud nga naghatag panginabuhi alang sa mga nagpundar niini. Tingali katingad-an ang pagtrabaho adlaw-adlaw nga nahibal-an nga dunay kalainan. Sa matag higayon nga makita ko si Glenn, nagtrabaho siya sama sa buang ug mahigugmaon matag minuto niini.

Karong gabhiona gitabangan ko si Glenn sa duha nga mga isyu sa Google Map. Gusto nako nga ipaambit ang usa kanimo… nga nagdrawing usa ka lingin sa Google Maps. Hangin kini sa hangin (sa akong nahibal-an), dili ka gyud mahimo magdrawing usa ka lingin. Bisan pa, adunay ka abilidad sa pagguhit og mga polyline ug vector kini sumala sa imong gusto. Mao nga, mahimo’g tukuron ang code aron yano nga mabutang ang 36 nga mga segment nga magkauban ug gamay nga anggulo ang vector aron madugangan ug matukod ang usa ka kompleto nga lingin!

Ang mga polyline gisulat sa VML (Sinultian nga markup sa vector), busa kinahanglan kini ipakita sa header sa file alang sa IE aron maandam ang paghatag kanila. Awtomatiko nga gibuhat kini sa Firefox (siyempre!).

Ania ang usa ka tipik nga magdrowing usa ka lingin nga 1 ka milya libot sa imong balay.

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); alang 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 (bag-ong GLatLng (PGy, PGx)); }; map.addOverlay (bag-ong GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } uban pa {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // gilapdon sa polyline var deltaLat = 250 * latSpan / yyPx; kung (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } uban pa {PGlat / = 2; };

Tan-awa ang tibuuk nga demo aron makita ang tibuuk nga code. Nahitabo ako sa tibuuk nga pag-andar sa niining site diin adunay daghang mga sapaw sa mga bilog sa usa ka mapa nga adunay mga landong nga rehiyon.

Unsay imong hunahuna?

Kini nga site naggamit sa Akismet sa pagpakunhod sa spam. Hibal-i kon giunsa ang pagproseso sa datos sa imong komento.