Алгебра и геометрия… когда я когда-нибудь им воспользуюсь? Карты Гугл!
Мой хороший друг, Гленн, является одним из основателей 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); 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 (новый 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; };
Просмотрите всю демонстрацию, чтобы увидеть код полностью. Я наткнулся на функцию на этом сайте, где у него есть несколько слоев кругов на одной карте с закрашенными областями.