Aljabar dan Geometri… kapan saya akan menggunakannya? Google Maps!

Layar Ditembak 2014 10 23 di 3.24.52 PM

Teman baik saya, Glenn, adalah salah satu pendiri Family Watchdog. Family Watchdog adalah salah satu cerita fantastis… sebuah perusahaan yang didirikan di atas sebuah mashup yang melakukan layanan publik DAN benar-benar memberikan nafkah bagi para pendirinya. Pasti luar biasa pergi bekerja setiap hari mengetahui bahwa Anda telah membuat perbedaan. Setiap kali saya melihat Glenn, dia bekerja seperti orang gila dan mencintai setiap menitnya.

Malam ini saya membantu Glenn dengan beberapa masalah Google Map. Saya ingin berbagi satu dengan Anda… menggambar lingkaran di Google Maps. Ini berakhir (sejauh yang saya tahu), Anda tidak dapat benar-benar menggambar lingkaran. Namun, Anda memiliki kemampuan untuk menggambar polyline dan memvektornya sesuai keinginan Anda. Jadi, kode dapat dibangun untuk menyatukan 36 segmen dan sedikit memiringkan vektor sehingga mereka menambahkan dan membangun lingkaran lengkap!

Polyline ditulis dengan VML (bahasa markup vektor), jadi itu harus ditunjukkan di header file agar IE dapat merendernya dengan benar. Firefox melakukannya secara otomatis (tentu saja!).

Berikut cuplikan yang akan menggambar lingkaran sejauh 1 mil di sekitar rumah Anda.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // menggunakan 3963 mil sebagai radius bumi dalam mil if (PGwidth! = 0) {var PGlng = PGlat / Math.cos (PGcenter.lat () * Math.PI / 180); untuk (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 (GLatLng baru (PGy, PGx)); }; map.addOverlay (GPolyline baru (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // lebar dari polyline var deltaLat = 250 * latSpan / yyPx; jika (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } lain {PGlat / = 2; };

Lihat seluruh demo untuk melihat kode secara lengkap. Saya kebetulan melintasi fungsi di situs ini di mana dia memiliki banyak lapisan lingkaran pada satu peta dengan wilayah yang diarsir.

Bagaimana menurut Anda?

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.