Als ich die Googlemap-API im Postscript des Artikels verwendet habe, den ich zuvor geschrieben habe, war ich süchtig nach der Tatsache, dass die Adresse registriert wurde, aber der Breiten- und Längengrad nicht gespeichert wurde, sodass ich sie als Postscript belassen werde.
[Rails] google maps api Veröffentlichen und Anzeigen einschließlich Karteninformationen
Ich kann die Adresse eingeben und veröffentlichen und sie wird in der Datenbank gespeichert, aber ich möchte das Problem lösen, dass Breiten- und Längengrade nicht gespeichert werden.
Wenn man sich verschiedene Artikel ansieht, scheint es, dass die Genauigkeit des Geocodierers möglicherweise nicht sehr gut ist, wenn nichts eingestellt ist. Um das Problem zu lösen, sollten Sie es anscheinend so einstellen, dass Sie die Informationsquelle der Google Map API verwenden können.
Lassen Sie es uns jetzt implementieren.
Erstellen Sie eine geocoder.rb-Datei im Konfigurationsordner.
Terminal
$ bin/rails g geocoder:config
Mit der obigen Beschreibung wird eine Datei config / initializers / geocoder.rb erstellt.
Bearbeiten Sie die erstellte Datei.
geocoder.rb
Geocoder.configure(
# Geocoding options
# timeout: 3, # geocoding service timeout (secs)
lookup: :google, # name of geocoding service (symbol)
# ip_lookup: :ipinfo_io, # name of IP address geocoding service (symbol)
# language: :en, # ISO-639 language code
use_https: true, # use HTTPS for lookup requests? (if supported)
# http_proxy: nil, # HTTP proxy server (user:pass@host:port)
# https_proxy: nil, # HTTPS proxy server (user:pass@host:port)
#YOUR_API_Geben Sie Ihren eigenen API-Schlüssel in KEY ein.
api_key: YOUR_API_KEY, # API key for geocoding service
# cache: nil, # cache object (must respond to #[], #[]=, and #del)
# cache_prefix: 'geocoder:', # prefix (string) to use for all cache keys
# Exceptions that should not be rescued by default
# (if you want to implement custom error handling);
# supports SocketError and Timeout::Error
# always_raise: [],
# Calculation options
# units: :mi, # :km for kilometers or :mi for miles
# distances: :linear # :spherical or :linear
)
Damit scheint es möglich zu sein, die Genauigkeit des Geocodierers zu verbessern und detailliertere Standorte zu untersuchen.
Das ist alles zur Lösung meines Problems! Es kann andere mögliche Ursachen wie Beschreibungsfehler und fehlende Verarbeitung geben, aber ich hoffe, Sie finden es hilfreich!
Recommended Posts