我正在动态添加带有 InfoWindows 的 Google Map。问题是,当两个 InfoWindows 重叠时,最近的一个不会总是在旧的之上。
如何确保后一个 InfoWindow 始终显示在使用 Javascript/jQuery 的所有其他 InfoWINdows 之上?
当我通过 websocket 接收到新图像和坐标时,会添加 InfoWindows。这是我的代码:
function addToMap(image) {
console.log("In addToMap...");
coordinates = image[2].split(',');
pin=new google.maps.LatLng(coordinates[0], coordinates[1]);
if(marker) {
marker.setMap(null);
}
var markerIcon = image_car_icon;
marker=new google.maps.Marker({
position:pin,
zIndexProcess: function( m )
{
return 9999999 + pin_count;
},
icon:markerIcon
});
marker.setMap(map);
map.setCenter(marker.getPosition());
pin_count++;
if(image[0] != "NOP") {
popup = new google.maps.InfoWindow({
content:'<image id="pin_' + pin_count + '" src="data:image/png;base64,' + image[1] +'"/>',
});
popup.open(map, marker);
}
}
popup 是我获得新图像时创建的信息窗口。假设两个图像具有几乎相同的坐标,我希望第二个 InfoWindow 位于顶部(z-index)。但是,大多数时候,第一个窗口保持在顶部。