以下是用户故事:
用户输入地址:巴黎,法国。然后我想在巴黎中心显示一个可移动的标记的谷歌地图。然后用户使用标记指向其精确位置并单击保存。地址字符串和地图坐标保存到数据库中。
经过一些搜索,我知道可以使用各种宝石来显示谷歌地图:例如cartographer。我的问题是如何获取坐标或如何将地址传递给cartographer以便将地图居中在巴黎?
以下是用户故事:
用户输入地址:巴黎,法国。然后我想在巴黎中心显示一个可移动的标记的谷歌地图。然后用户使用标记指向其精确位置并单击保存。地址字符串和地图坐标保存到数据库中。
经过一些搜索,我知道可以使用各种宝石来显示谷歌地图:例如cartographer。我的问题是如何获取坐标或如何将地址传递给cartographer以便将地图居中在巴黎?
另一个适用于 Ruby 的地理编码器是 Geocoder:https://github.com/alexreisner/geocoder
location = Geocoder.search( ... )
location[0].latitude
location[0].longitude
我同意,geokit非常有用... 你可以做一些像这样的事情:
require 'geokit'
include GeoKit::Geocoders
coords = MultiGeocoder.geocode(location)
puts coords.lat
puts coords.lng
其中location是一个字符串地点(比如地址)。它的效果非常好。
你也可以进行反向地理编码,从经纬度坐标对中提取出一个字符串地址。相当不错。