Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在旧的谷歌地图信息窗口上显示新的谷歌地图信息窗口_Javascript_Jquery_Html_Css_Google Maps - Fatal编程技术网

Javascript 如何在旧的谷歌地图信息窗口上显示新的谷歌地图信息窗口

Javascript 如何在旧的谷歌地图信息窗口上显示新的谷歌地图信息窗口,javascript,jquery,html,css,google-maps,Javascript,Jquery,Html,Css,Google Maps,我正在使用动态添加InfoWindows的Google地图。问题是,当两个信息窗口重叠时,最近的信息窗口并不总是位于旧的信息窗口之上 如何使用Javascript/jQuery确保后一个信息窗口始终显示在所有其他信息窗口的顶部 当我通过websocket接收到新的图像和坐标时,会添加信息窗口。这是我的密码: function addToMap(image) { console.log("In addToMap..."); coordinates = image[2].split

我正在使用动态添加InfoWindows的Google地图。问题是,当两个信息窗口重叠时,最近的信息窗口并不总是位于旧的信息窗口之上

如何使用Javascript/jQuery确保后一个信息窗口始终显示在所有其他信息窗口的顶部

当我通过websocket接收到新的图像和坐标时,会添加信息窗口。这是我的密码:

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);
    }
}
函数addToMap(图像){
console.log(“In addToMap…”);
坐标=图像[2]。拆分(',');
pin=new google.maps.LatLng(坐标[0],坐标[1]);
如果(标记){
marker.setMap(空);
}
var markerIcon=图像车图标;
marker=新的google.maps.marker({
位置:销,
zIndexProcess:函数(m)
{
返回999999+pin_计数;
},
图标:markerIcon
});
marker.setMap(map);
map.setCenter(marker.getPosition());
引脚计数++;
如果(图像[0]!=“NOP”){
popup=新建google.maps.InfoWindow({
内容:“”,
});
弹出。打开(地图、标记);
}
}

popup是当我获得新图像时创建的信息窗口。假设两个图像具有几乎相同的坐标,我希望第二个InfoWindow位于顶部(z索引)。但是,大多数时候,第一个窗口保持在顶部。

我找到了一个解决方案。我正在使用图像作为句柄手动修改标记的z索引
marker\u count
是一个正在运行的标记,因此
z-index
将大于上一个标记

google.maps.event.addListener(popup, 'domready', function() {
    console.log("DOM READY...........................");

    // Bring latest Image to top            
    e = $('#pin_' + img_count).parent().parent().parent().parent();

    e.css({
        'z-index' : (99999 + marker_count),
    });
});

您是如何创建信息窗口的?您可以提供一个JSFIDLE或一个链接来演示这个问题吗?