1

geokit または geocoder のいずれかを使用してモデル内の複数の住所をジオコーディングしようとしていますが、gem のいずれかを希望どおりに動作させることができません。ユースケースと各オプションで発生するエラーの両方について、モデルに適用しているコードを次に示します。

ジオコーダーの要点: https://gist.github.com/112cc28b7d52402079ad

ジオキット要点 https://gist.github.com/adef30cb458c1177df2b

私はdeviseを使用しており、それが役立つ場合はrails 3.1を使用しています。ジオコーダーオプションの正しいコードに近いと確信していますが、何が間違っているのかわかりません。

4

2 に答える 2

1

次のような独自のカスタムジオコーディング方法を定義しました。

def custom_geocode
   var = Geocoder.coordinates(self.address1)
   var2 = Geocoder.coordinates(self.address2)
   self.latitude1 = var.first
   self.longitude1 = var.last
   self.latitude2 = var2.first
   self.longitude2 = var2.last
end

Geocoder.coordinatesは、結果のアドレスから緯度と経度の配列を返し、結果の緯度と経度を保存します。

于 2011-11-03T00:34:06.350 に答える
0

ジオコーダーを知りませんが、ジオコーダーのこのデモサイトにshipping_addressを入力しましたが、応答は配列のようです。エラーメッセージは、配列で緯度メソッドを呼び出していることを示しており、rubyはそれに腹を立てています。代わりにこれを使用してみてください:

start_result[0].latitude
于 2011-10-03T21:40:23.983 に答える