InfoWindowsが動的に追加されたGoogleマップを使用しています。問題は、2つのInfoWindowsが重複している場合、最近のものが常に古いものの上にあるとは限らないことです。
Javascript / jQueryを使用して、後者のインフォウィンドウが常に他のすべてのインフォウィンドウの上に表示されるようにするにはどうすればよいですか?
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);
}
}
ポップアップは、新しい画像を取得したときに作成される情報ウィンドウです。2つの画像の座標がほぼ同じであるとすると、2番目のインフォウィンドウを一番上(z-index)にします。ただし、ほとんどの場合、最初のウィンドウは一番上にとどまります。