gpt4 book ai didi

ruby-on-rails-3 - gmaps4rails - 在表单中删除标记并更新字段属性

转载 作者:行者123 更新时间:2023-12-04 05:56:45 25 4
gpt4 key购买 nike

我正在尝试实现这一点,来自 gem wiki https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Javascript-goodies

<% content_for :scripts do %>
<script type="text/javascript" charset="utf-8">
var markersArray = [];
// On click, clear markers, place a new one, update coordinates in the form
Gmaps.map.callback = function() {
google.maps.event.addListener(Gmaps.map.map, 'click', function(event) {
clearOverlays();
placeMarker(event.latLng);
updateFormLocation(event.latLng);
});
};
// Update form attributes with given coordinates
function updateFormLocation(latLng) {
$('location_attributes_latitude').value = latLng.lat();
$('location_attributes_longitude').value = latLng.lng();
$('location_attributes_gmaps_zoom').value = Gmaps.map.map.getZoom();
}
// Add a marker with an open infowindow
function placeMarker(latLng) {
var marker = new google.maps.Marker({
position: latLng,
map: Gmaps.map.map,
draggable: true
});
markersArray.push(marker);
// Set and open infowindow
var infowindow = new google.maps.InfoWindow({
content: '<div class="popup"><h2>Awesome!</h2><p>Drag me and adjust the zoom level.</p>'
});
infowindow.open(Gmaps.map.map,marker);
// Listen to drag & drop
google.maps.event.addListener(marker, 'dragend', function() {
updateFormLocation(this.getPosition());
});
}
// Removes the overlays from the map
function clearOverlays() {
if (markersArray) {
for (var i = 0; i < markersArray.length; i++ ) {
markersArray[i].setMap(null);
}
}
markersArray.length = 0;
}
</script>
<% end %>

但是没有运气......我猜它更多的是我的字段的名称/ID的问题,请原谅我的javascript知识。

我已更改字段以使用坐标更新:
function updateFormLocation(latLng) {
$('location[lat]').value = latLng.lat();
...
}

但该字段没有得到更新:
= simple_form_for :location do |l|
= l.input :lat
...

我错过了什么吗?谢谢!

最佳答案

从外观上看,该语法是为原型(prototype)编写的。如果您使用带有 jQ​​uery 的 rails 3.1,则需要更新该语法以找到您的 DOM 节点。

即,如果您正在寻找 ID 为 "location_attributes_latitude" 的元素,你需要使用:

 $('#location_attributes_latitude')

为了设置值:
$('#location_attributes_latitude').val(latLng.lat());

关于ruby-on-rails-3 - gmaps4rails - 在表单中删除标记并更新字段属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9425816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com