2017-07-24 1 views
0

Angenommen, ich habe einen Kreis auf meiner Google-Karte gezeichnet und ich habe seine Grenzen (Nord-Ost-Ecke und Süd-West-Ecke) gespeichert von Circle.getBounds() und seinem Zentrum. Aber ich habe den Radius des Kreises nicht gespeichert.So finden Sie den Radius einer Kugel durch ihre angegebenen Grenzen und Zentrum in Google Maps API

Jetzt möchte ich meinen Kreis wiederherstellen (zeichne noch einmal auf der Karte), aber ich habe nur seine Grenzen und Mitte, während Circle Konstruktor seinen Radius (documentation) benötigt.

Gibt es eine Möglichkeit, den Radius neu zu berechnen?

P.S. Der Abstand zwischen einem der Grenzen und dem Zentrum des Kreises passt nicht, da der Kreis innerhalb seiner Grenze liegt.

Antwort

0

Abstand zwischen den Punkten [Lat_north_east, Lng_Center] (oben in der Mitte) und [Lat_Center, Lng_Center]. Dies ist meridionale Bogen, so Abstandsformel ist einfach:

R = 40 000 000 * Abs(Lat_north_east - Lat_Center)/360 

40 000 km in voller Länge von Erde Meridian ist - der Kreis, 360 Grad.

Also 40 000 000 meters/360 = 111.111 km ist Länge von einem Grad meridionalen Bogen.

+0

Danke, mein Herr! Vielleicht möchten Sie mehr über die Formel erklären, um die "gute Antwort" -Richtlinie von Stackoverflow besser zu erfüllen, aber ich akzeptiere Ihre Antwort trotzdem. – kumade

Verwandte Themen