Алгебра и геометрия ... кога ще го използвам? Google Maps!

Снимка на екрана 2014 10 23 на 3.24.52 PM

Един мой добър приятел, Глен, е един от основателите на Family Watchdog. Family Watchdog е една от онези фантастични истории ... компания, основана на каша, която извършва обществена услуга И всъщност осигурява прехраната на своите основатели. Сигурно е невероятно да ходиш на работа всеки ден, знаейки, че си направил разлика. Всеки път, когато видя Глен, той работи като луд и обича всяка минута.

Тази вечер помогнах на Глен с няколко проблема с Google Map. Исках да споделя един с вас ... изчертаване на кръг в Google Maps. Той се навива (доколкото знам), всъщност не можете да нарисувате кръг. Вие обаче имате способността да чертаете полилинии и да ги векторирате, както сметнете за добре. И така, кодът може да бъде изграден, за да събере просто 36 сегмента и леко да наклони вектора, така че те да се съберат и да изградят пълен кръг!

Полилиниите се пишат с VML (векторен език за маркиране), така че трябва да бъде посочен в заглавката на файла, за да може IE да ги прави правилно. Firefox го прави автоматично (разбира се!).

Ето фрагмент, който ще нарисува кръг на 1 миля около дома ви.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // използване на 3963 мили като радиус на земята в мили if (PGwidth! = 0) {var PGlng = PGlat / Math.cos (PGcenter.lat () * Math.PI / 180); за (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 (PGy, PGx)); }; map.addOverlay (нова GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // ширина на полилинията var deltaLat = 250 * latSpan / yyPx; ако (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } else {PGlat / = 2; };

Прегледайте цялата демонстрация, за да видите кода изцяло. Случих на функцията на този сайт, където той има няколко слоя кръгове на една карта със сенчести региони.

Какво мислите?

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните за коментарите ви.