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 erbringt UND seinen Gründern tatsächlich ihren Lebensunterhalt sichert. Es muss unglaublich sein, jeden Tag zur Arbeit zu gehen und zu wissen, dass man etwas bewirkt hat. Jedes Mal, wenn ich Glenn sehe, arbeitet er wie verrückt und liebt jede Minute davon.

Heute Abend habe ich Glenn bei ein paar Problemen mit Google Map geholfen. Ich wollte einen mit Ihnen teilen … einen Kreis auf Google Maps zeichnen. Es endet (soweit ich weiß), dass Sie keinen Kreis zeichnen können. Sie haben jedoch die Möglichkeit, Polylinien zu zeichnen und sie nach Belieben zu vektorisieren. Der Code kann also so aufgebaut werden, dass er einfach 36 Segmente zusammenfügt und den Vektor leicht anwinkelt, so dass 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 Zuhause zieht.

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 vollständigen Code zu sehen. Ich bin auf dieser Site auf die Funktion gestoßen, bei der er mehrere Kreisebenen auf einer einzigen Karte mit schattierten Regionen hat.

Was denken Sie?

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