0

我正在使用 rails 3.2.3 和 gmaps4rails gem。

我有一个模型叫做联系。在联系对象中,我有一个名为地址的文件。

现在我已将联系人定义为acts_as_gmappable,并且gmaps4rails_address 将地址字段显示为谷歌地图中的标记。

现在,当我们添加新联系人时,我想添加一个功能,当我们点击带有点击位置的谷歌地图时,地址将自动填充。

如何在 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 的 rails 3.2 中,要添加 id 你应该这样做:

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

感谢您的回答,“字段ID”是我所缺少的。

于 2012-09-22T08:14:36.170 回答