簡體   English   中英

Rails geocoder gem問題

[英]Rails geocoder gem issues

我正在使用地理編碼器gem,我需要為模型編寫開始和結束地址,但是我不確定是否可以使用此gem完成此操作,如果我能夠正確執行此操作。 如果使用gem無法做到這一點,是否有另一種資源可以讓我在同一表單上對兩個位置進行地理編碼? 這是我想要做的一個例子,但它只是通過第二個地址進行地理編碼。

geocoded_by :start_address
before_validation :geocode
geocoded_by :delivery_address, :latitude => :end_latitude, :longitude => :end_longitude
before_validation :geocode

如果你看一下它看起來好像有一個選項哈希會被覆蓋的active_record.rbbase.rb。

我認為有兩種選擇:將您的地址移動到包含(加入)模型(如Address或其他東西),或者fork地址解析器按鍵有多個選項。 第一個更容易,並解決了問題。 第二個更酷(可能與我自己一起玩kata)。

所以發生的事情只是簡單的紅寶石......如果你這樣做:

class Question
  def ask
    "what would you like?"
  end

  def ask
    "oh hai"
  end
end

Question.new.ask
 => "oh hai"

最后一個方法定義獲勝...所以當你聲明兩個geocoded_by方法時,第二個是重要的方法。

我認為你將不得不使用gem進行手動地理編碼

before_validation :custom_geocoding

def custom_geocoding
  start_result = Geocoder.search(start_address)
  end_result = Geocoder.search(delivery_address)
  # manually assign lat/lng for each result
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM