我正在列出我在地图下的标记列表,并且当用户单击它时应该显示该标记,但不会显示。我收到控制台错误:未捕获的TypeError:无法读取未定义的属性'gm_bindings_'
现在,我陷入困境,并向您寻求帮助。
一些代码:
var infowindow = new google.maps.InfoWindow();
map.addMarkers(allMarkers);
jQuery(document).on('click','.address',function(){
marker = allMarkers[this.id];
infowindow.open(map, marker); //The error occurs on this line.
});
小提琴-http: //jsfiddle.net/5nxbd7o2/1/
在控制台中查看以查看错误。
问题是您使用的是gmaps3,而不是直接使用Google Maps Javascript API v3。您的地图变量是GMap对象,而不是google.maps.Map对象。
更改此:
jQuery(document).on('click','.address',function(){
marker = allMarkers[this.id];
console.log(marker);
infowindow.open(map, marker);
});
到:
jQuery(document).on('click', '.address', function () {
marker = allMarkers[this.id];
console.log(marker);
marker.infoWindow.open(map.map, marker);
// will center the map on the marker
map.map.setCenter(marker.getPosition());
});
注意,我还修改了代码以打开信息窗口。
如果您想取消标记的组合,则还需要添加代码以进行放大:
map.map.setZoom(20);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句