Algebra und Geometrie… wann werde ich sie jemals benutzen? Google Maps!

Screen Shot 2014 10 23 bei 3.24.52 Uhr

Ein guter Freund von mir, Glenn, ist einer der Gründer von Family Watchdog. Family Watchdog ist eine dieser fantastischen Geschichten… ein Unternehmen, das auf einem Mashup gegründet wurde, das einen öffentlichen Dienst leistet UND seinen Gründern seinen Lebensunterhalt sichert. Es muss erstaunlich sein, jeden Tag zur Arbeit zu gehen und zu wissen, dass Sie etwas bewirkt haben. Jedes Mal, wenn ich Glenn sehe, arbeitet er wie verrückt und liebt jede Minute davon.

Heute Abend habe ich Glenn bei einigen Problemen mit Google Map geholfen. Ich wollte einen mit Ihnen teilen… einen Kreis in Google Maps zeichnen. Es endet (soweit ich weiß), man kann eigentlich keinen Kreis zeichnen. Sie haben jedoch die Möglichkeit, Polylinien zu zeichnen und nach Belieben zu vektorisieren. Der Code kann also so erstellt werden, dass einfach 36 Segmente zusammengefügt und der Vektor leicht abgewinkelt werden, sodass sie sich addieren und einen vollständigen Kreis bilden!

Die Polylinien sind mit geschrieben VML (Vektor-Markup-Sprache), daher muss es im Header der Datei angegeben werden, damit der IE sie ordnungsgemäß rendern kann. Firefox macht das automatisch (natürlich!).

Hier ist ein Ausschnitt, der einen Kreis 1 Meile um Ihr Haus zeichnet.

var PGlat = (PGradius / 3963) * 180 / Math.PI; // 3963 Meilen als Erdradius in Meilen verwenden if (PGwidth! = 0) {var PGlng = PGlat / Math.cos (PGcenter.lat () * Math.PI / 180); für (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 (neues GLatLng (PGy, PGx)); }; map.addOverlay (neue GPolyline (PGpoints, PGcolor, PGwidth, PGtrans)); } else {var PxWidth = Math.round (PGlat * yyPx / latSpan + 0.5); // Breite der Polylinie var deltaLat = 250 * latSpan / yyPx; if (PxWidth> 500) {PxWidth = 500; PGlat - = deltaLat; } else {PGlat / = 2; };

Sehen Sie sich die gesamte Demo an, um den Code vollständig anzuzeigen. Ich habe die Funktion an dieser Stelle durchlaufen, an der er mehrere Kreisebenen auf einer einzelnen Karte mit schattierten Regionen hat.

Was denken Sie?

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.