0

Rails 3.2.3 と gmaps4rails gem を使用しています。

私は連絡先と呼ばれる1つのモデルを持っています。連絡先オブジェクトには、アドレスという名前のフィールドが 1 つあります。

これで連絡先をacts_as_gmappableとして定義し、gmaps4rails_addressは住所フィールドを取得してGoogleマップにマーカーとして表示します。

ここで、新しい連絡先を追加するときに、クリックした場所で Google マップをクリックすると住所が自動入力されるようにする機能を追加したいと考えています。

gmaps4rails gem の助けを借りてどうすればそれを行うことができますか?

4

2 に答える 2

4

wiki に役立つガイドがあります。「マーカーをドロップしてフォームのフィールド属性を更新する」セクションを探します。

https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Javascript-goodies

JavaScript をインクルードし、以下を実際のフィールド ID で更新します (フォームに非表示の :lat :lon フィールドが必要になる場合があります)。

$('#location_attributes_latitude').val(latLng.lat());
$('#location_attributes_longitude').val(latLng.lng());
$('#location_attributes_gmaps_zoom').val(Gmaps.map.serviceObject.getZoom());

保存時に、ユーザーが住所を手動で入力したか、地図を使用したかを確認する必要があります。

彼らが地図を使用したことがある場合は、逆ジオコーディングを行い、:lat :lon 値を使用して Google から住所を取得する方法が必要になります。

于 2012-06-09T11:42:04.023 に答える
1

erbを使用するRails3.2では、IDを追加するには次のようにする必要があります。

<%= text_field_tag(:latitudex, "", :id => "location_attributes_latitude") %>

答えてくれてありがとう、「フィールドID」は私が欠けていたものです。

于 2012-09-22T08:14:36.170 に答える