我正试图在谷歌地图的信息窗口中点击。我无法使用以下代码实现。有人能告诉我哪里做错了吗?
loadmap(){
var locations = [];var map;
for(var i=0;i<this.data.length; i++){
locations.push({
'location_name':this.data[i].location_name,
});
}
var marker; var icon;
map = new google.maps.Map(document.getElementById('map'), {
zoom: 2,
center: new google.maps.LatLng(40.4637, 3.7492),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
map.markers = [];
var infowindow = new google.maps.InfoWindow({
enableEventPropagation: true
});
for (var i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng('lat', 'lng'),
map: map,
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(
'<span>'+locations[i].location_name+'</span><br/>'+
'<input type="button" id="infowindow_submit" name="submit" value ="submit"/>'
);
infowindow.open(map, marker);
};
})(marker, i));
google.maps.event.addListener(infowindow, 'domready', function() {
$("#infowindow_submit").submit(function() {
console.log("hi!");
});
});
}
}
我认为您的问题是使用了一个按钮,但试图添加一个表单事件侦听器。
$("#infowindow_submit").submit(() => console.log("hi!"))
适用于窗体,但不适用于单个按钮。
你在找$("#infowindow_submit").click(() => console.log("hi!"))
吗?
我相信你的评论可能是矛盾的,这就是我注意到上述问题的原因。
当我点击infoWindow中的按钮时,什么都没有发生。点击正在执行标记的处理程序,但没有执行信息窗口domready部分
如果您正在单击信息窗口中的按钮,则domready
事件应该已经触发。我以为你根本无法打开信息窗口。我想我第一次没读对。。。你没有console.log
,也没有说你试图在那里设置断点。您拥有的console.log
在submit
事件中,但在domready
事件函数中没有。希望domready
真的被炒了。