5 Stimmen

Rails Wie man Breitengrad und Längengrad aus einer Zeichenfolgenadresse erhält und sie auf der Google-Karte platziert?

Hier ist die Benutzerstory:

Der Benutzer gibt die Adresse ein: Paris, Frankreich. Dann möchte ich die Google Map zentriert auf Paris mit einem verschiebbaren Marker anzeigen. Der Benutzer zeigt mit dem Marker auf seinen genauen Standort und klickt auf Speichern. Die Adresszeichenfolge und die Kartenkoordinaten werden in der Datenbank gespeichert.

Nach einiger Recherche weiß ich, dass ich Google Maps mit verschiedenen Gems anzeigen kann: zum Beispiel mit Cartographer. Meine Frage ist, wie ich die Koordinaten erhalten oder wie ich die Adresse an Cartographer weitergeben kann, um die Karte in Paris zu zentrieren?

11voto

J.R. Punkte 5371

Ich stimme zu, dass Geokit ziemlich nützlich ist... Sie können Dinge wie:

require 'geokit'
include GeoKit::Geocoders

coords = MultiGeocoder.geocode(location)
puts coords.lat
puts coords.lng

Wo Ort eine Zeichenfolge Ort (wie eine Adresse) ist. Es funktioniert ziemlich gut.

Sie können AUCH Reverse-Geocoding durchführen, das eine Zeichenfolgenadresse aus einem lat/lng-Koordinatenpaar extrahiert. Ziemlich schick.

11voto

vfilby Punkte 9798

Eine weitere Geocoder-Option für Ruby ist Geocoder: https://github.com/alexreisner/geocoder

  location = Geocoder.search( ... )
  location[0].latitude
  location[0].longitude

3voto

sethvargo Punkte 25884

Ich schlage das Edelstein- und Plugin geokit vor. Es macht genau das, was du suchst und mehr.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X