现在想帮商家的店铺定位,商家地址目前是在后台直接文字输入的。 用什么方法可以在输入一个地址,保存后,再计算出坐标呢? 方法一:直接输入名字,然后在那些地图 API 检索,好像这样准确率应该好低! 方法二:直接用地图选择,这样好像不是很友好!
请教大家,这个需求怎么解?
百度地图 API 貌似有这个功能
https://github.com/alexreisner/geocoder https://github.com/rgeo/activerecord-postgis-adapter
class Location < ActiveRecord::Base has_many :member_locations has_many :members, :through => :member_locations GEO_FACTORY = RGeo::Geographic.spherical_factory(:srid => 4326) set_rgeo_factory_for_column :coordinates, GEO_FACTORY geocoded_by :name do |location, results| result = results.first location.coordinates = GEO_FACTORY.point(result.latitude, result.longitude) if result end end
给个输入框输入地址,下面百度地图有可以选择位置的,用户可以微调点下,以这个为准保存经纬度数据
做过类似的,输入 POI 的名字,用地图 api 搜索出相关的地点,显示在地图上,用户点击具体点,如果确认无误,经纬度入库既可以。
@stephen 最好是用百度,高德这些地图服务提供的 api
用坐标你会踩坑的,详情见 http://baike.baidu.com/view/3163334.htm?fromTaglist http://www.zhihu.com/question/20155929
目前就用是百度地图提供的 api 来获取经纬度,不过暂时没 @quakewang 实现的这么好,就直接传地址过去返回经纬度了!
@quakewang 你的代码有开源吗?想参考下!