【发布时间】:2018-05-12 11:58:07
【问题描述】:
打开另一个信息窗口时,以前的信息窗口保持打开状态。 如果我打开另一个信息窗口,如何自动关闭上一个信息窗口?我是新人,你能帮帮我吗
var map;
var markers = [];
function initMap() {
var cucuta = {lat: 7.9145395, lng: -72.505966};
map = new google.maps.Map(document.getElementById('map'), {
zoom: 14,
center: cucuta,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
@foreach($users as $user)
var ubicaciones = {lat: {{ $user->latitud }}, lng: {{ $user->longitud }} };
var titulo = '{{ $user->name }}';
addMarker(ubicaciones, titulo);
@endforeach
}
function addMarker(location, titulo) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(location),
map: map,
title: titulo
});
markers.push(marker);
var infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker, 'click', (function(marker) {
return function() {
infowindow.setContent(titulo);
infowindow.open(map, marker);
}
})(marker));
}
function setMapOnAll(map) {
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(map);
}
}
function showMarkers() {
setMapOnAll(map);
}
【问题讨论】:
-
我不认识全局信息窗口,它只在函数 addMarker 内部时才生成信息窗口
-
识别是什么意思?如果您通过在标记下声明它来更改信息窗口的范围,它应该可以解决问题,不是吗?
-
您好,感谢您再次回复,当我声明“var infowindow = new google.maps.InfoWindow ();”时,我会更好地解释自己在全球范围内,我不使用信息窗口
-
当我声明“var infowindow = new google.maps.InfoWindow ();”在 addMarker 函数中,infowindow 服务但之前的没有关闭
-
@CDspace 我已经做了,但它不起作用
标签: google-maps