Cəbr və Həndəsə ... nə vaxt istifadə edəcəyəm? Google xəritələr!

2014 10-da 23 3.24.52-də Screen Shot

Yaxşı bir dostum Glenn, Family Watchdog-un qurucularından biridir. Family Watchdog bu fantastik hekayələrdən biridir ... bir ictimai xidmət göstərən və əslində qurucuları üçün yaşayış təmin edən bir mashupun qurduğu bir şirkətdir. Fərq etdiyinizi bilə-bilə hər gün işə getmək təəccüblü olmalıdır. Glenn'i hər gördüyümdə dəli kimi çalışır və hər dəqiqəsini sevir.

Bu gecə Glenn-ə bir neçə Google Map məsələsində kömək etdim. Birini sizinlə bölüşmək istədim ... Google xəritələrdə bir dairə çəkərək. Küləklənir (bildiyim qədər), əslində bir dairə çəkə bilməzsən. Bununla birlikdə, çox xəttləri çəkmək və istədiyiniz kimi vektor etmək qabiliyyətiniz var. Beləliklə, kod sadəcə 36 seqmenti bir araya gətirmək və vektoru bir az bucaqlandırmaq üçün qurula bilər ki, bunlar əlavə olunsun və tam bir dairə yaratsınlar!

Çox xətlər ilə yazılmışdır VML (vektor işarəsi dili), buna görə də sənədlərin düzgün göstərilməsi üçün IE üçün sənədin başlığında göstərilməlidir. Firefox bunu avtomatik olaraq edir (əlbətdə!).

Budur evinizin ətrafında 1 mil məsafədə bir dairə çəkəcək bir parça.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // yer radiusu olaraq 3963 mil istifadə edərək mil məsafəsində (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 (yeni GLatLng (PGy, PGx)); }; map.addOverlay (yeni GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // polilin genişliyi var deltaLat = 250 * latSpan / yyPx; əgər (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } başqa {PGlat / = 2; };

Kodu tam görmək üçün bütün demoya baxın. Gölgeli bölgələri olan tək bir xəritədə birdən çox təbəqə dairəsi olduğu bu saytda funksiyaya rast gəldim.

Siz nə düşünürsünüz?

Bu sayt spam azaldılması üçün Akismet istifadə edir. Yorumunuzun necə işləndiyini öyrənin.