【问题标题】:Rails geocoder gem geocoding using a custom address format使用自定义地址格式的 Rails geocoder gem 地理编码
【发布时间】:2019-03-03 11:22:29
【问题描述】:

我正在使用地理编码器从地址获取纬度和经度

在我添加的模型中

class Clinic < ApplicationRecord
    geocoded_by :full_street_address
    after_validation :geocode

    def full_street_address
      [address_line1, city, state, country].compact.join(', ')
    end
end

客户已经给我提供了这样的地址

{
    "name": "Bahrain Defence Force Royal Medical Services Hospital - Riffa",
    "address_line1": "West Riffa P O Box 28743",
    "country": "Bahrain",
    "state": "Al-Wusta",
    "city": "Riffa"
}

现在,当我创建诊所时,它不会返回经纬度,

似乎问题在于地址而不是以下行

[address_line1, city, state, country].compact.join(', ')

有没有办法可以专门提供邮政编码等或如何处理上述地址?

【问题讨论】:

    标签: ruby-on-rails geocoder


    【解决方案1】:

    假设您遵循地理编码器文档并将longitudelatitude 属性添加到您的模型,我尝试了您的代码,您只需要添加after_validation :geocode 或在您想要的任何回调中使用方法:geocode .

    编辑:

    好的,我想我在更新您的问题时没有刷新页面,但我尝试了完全相同的代码,它按预期工作。

    【讨论】:

    • after_validation :geocode 已经在模型中,我更新了问题。带有处理地址的问题ID,您尝试过我提供的地址吗?
    • 是的,我用了同样的数据,它给了我坐标,你试过其他地址吗?
    • 是的,我尝试了一些来自巴基斯坦的地址,他们正在工作。
    • 您更改了“full_street_address”方法或按原样使用
    • 我保留了代码,只是添加了 after_validation 因为它不存在,我之前遇到过类似的问题,但它与查找服务有关,您使用的是哪一个?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多