Algebra i geometria… kiedy kiedykolwiek będę tego używał? Mapy Google!

Zrzut ekranu 2014 10 23 w 3.24.52 PM

Mój dobry przyjaciel, Glenn, jest jednym z założycieli Family Watchdog. Family Watchdog to jedna z tych fantastycznych historii… firma założona na mashup, która wykonuje usługę publiczną I faktycznie zapewnia utrzymanie swoim założycielom. To musi być niesamowite, codziennie chodzić do pracy ze świadomością, że coś się zmieniło. Za każdym razem, gdy widzę Glenna, pracuje jak szalony i kocha każdą minutę.

Dziś wieczorem pomogłem Glennowi z kilkoma problemami z Mapą Google. Chciałem się z Tobą podzielić… narysować krąg w Mapach Google. Skręca się (o ile wiem), nie można narysować koła. Masz jednak możliwość rysowania polilinii i wektorowania ich według własnego uznania. Tak więc kod można zbudować tak, aby po prostu połączyć 36 segmentów i lekko ustawić wektor pod kątem, aby się zsumowały i zbudowały pełne koło!

Polilinie są zapisywane za pomocą VML (język znaczników wektorowych), więc musi to być wskazane w nagłówku pliku, aby IE mógł je poprawnie wyrenderować. Firefox robi to automatycznie (oczywiście!).

Oto fragment, który narysuje okrąg o długości 1 mili wokół Twojego domu.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // używając 3963 mil jako promienia Ziemi w milach 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 (nowy GLatLng (PGy, PGx)); }; map.addOverlay (nowy GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // szerokość polilinii var deltaLat = 250 * latSpan / yyPx; if (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } else {PGlat / = 2; };

Zobacz całe demo, aby zobaczyć kod w całości. Natknąłem się na funkcję na tej stronie, gdzie ma wiele warstw okręgów na jednej mapie z zacienionymi regionami.

Co o tym myślisz?

Ta strona używa Akismet do redukcji spamu. Dowiedz się, jak przetwarzane są dane komentarza.