谷歌地图信息窗口未打开
Google maps info window not opening
我正在尝试使用带有谷歌地图图钉的信息窗口,但是当我单击图钉打开信息窗口时没有任何反应,我在控制台中没有收到任何错误,但该函数正在触发,因为它运行时应该有一个日志。
我从尝试用于填充列表的本地 json 文件中获取数据。
我已经通读了事件关闭,但我不确定这是否是我在这里的问题。
function test(markers){
var gmarkers = [];
var mapOptions = {
center: new google.maps.LatLng(markers.map[0].lat, markers.map[0].lng),
zoom: 2,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var infoWindow = new google.maps.InfoWindow();
var latlngbounds = new google.maps.LatLngBounds();
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var i = 0;
var interval = setInterval(function () {
var data = markers[i];
var category = markers.map[i].category;
var myLatlng = new google.maps.LatLng(markers.map[i].lat, markers.map[i].lng);
var icon = "";
switch (markers.map[i].type) {
case "techstation":
icon = "red";
break;
case "event":
icon = "blue";
break;
case "virtual":
icon = "yellow";
break;
default:
icon = "red";
}
icon = "http://maps.google.com/mapfiles/ms/icons/" + icon + ".png";
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
category: category,
title: markers.map.title,
icon: new google.maps.MarkerImage(icon)
});
gmarkers.push(marker);
for (var z = 0; z < markers.map.length; z++) {
var marker1 = markers.map[z];
console.log(marker1.description);
google.maps.event.addListener(marker1, 'click', function () {
console.log("mouseover");
infowindow.setContent(marker1.description);
infowindow.open(map, marker1);
});
}
latlngbounds.extend(marker.position);
i++;
if (i == markers.map.length) {
clearInterval(interval);
var bounds = new google.maps.LatLngBounds();
map.setCenter(latlngbounds.getCenter());
map.fitBounds(latlngbounds);
}
}, 80);
代码中有拼写错误。
您声明信息窗口
var infoWindow = new google.maps.InfoWindow(); // notice capital "W"
而你使用
// notice lowercase "w"
infowindow.setContent(marker1.description);
infowindow.open(map, marker1);
尝试将侦听标记单击的代码部分更改为:
for( var z = 0; z < markers.map.length; z++ ) {
var mkr = markers.map[z];
console.log( mkr.description );
google.maps.event.addListener( mkr, 'click', function( event ) {
console.log("click event triggered on marker: open infowindow");
infoWindow.setContent( this.description );
infoWindow.open( map, this );
infoWindow.setPosition( this.position );/* need to set the position */
}.bind( mkr ));/* for convenience, bind to the marker `mkr` so you can use `this` - personal preference i guess */
}
相关文章:
- 如何调整信息窗口的大小并点击按钮?+更改信息窗口的内容
- 谷歌地图点击潜水触发信息窗口
- 将FlowPlayer嵌入谷歌地图信息窗口
- 如何在单击“提交”按钮时为“新建”窗口编写JavaScript,用“确定”和“取消”显示注册信息
- 当我浏览回页面时,谷歌地图信息窗口不会弹出
- 谷歌地图信息窗口Z索引
- 如何隐藏标记簇内标记的信息窗口
- 谷歌地图信息窗口为每个标记显示相同的内容
- 更改内容信息窗口映射v3
- Cartodb信息窗口未在地图上显示变量
- 为位于路线上的谷歌地图标记(起点和终点)设置一个信息窗口
- 信息窗口谷歌地图点击事件给出错误
- Javascript谷歌地图每个信息窗口
- 更新打开的谷歌地图信息窗口
- 如何在显示多个标记时单击另一个标记时关闭信息窗口
- 在弹出窗口中获取信息
- 禁用角度地图中标记和信息窗口的ng点击
- 在谷歌地图的信息窗口内点击按钮
- 谷歌从数组中映射标记、折线和窗口信息
- 使用javascript打开一个带有前一个窗口信息的新窗口