我試圖在Google地圖上顯示infowindow。它顯示完美,當你將鼠標懸停在標記上時,它會加載一個infowindow,但地圖跳轉到適合窗口。我不想讓地圖移動,而是根據地圖設定其位置。 Booking.com有這樣的事情。顯示Infowindow後防止Google地圖移動
編輯:增加我的代碼
這裏是我的代碼的精簡版。我收到來自AJAX服務的所有信息,此服務返回response
(也包含更多信息)。
$.ajax({
url: 'URL',
dataType: "json",
type: "GET",
success: function(response) {
// delete all markers
clearOverlays();
var infowindow = new google.maps.InfoWindow();
for (var i = 0; i < response.length; i++) {
item = response[i];
var marker = new google.maps.Marker({
position: new google.maps.LatLng(item.lat, item.lng),
map: map,
url: item.detail_url
});
markersArray.push(marker);
// display infowindow
google.maps.event.addListener(marker, "mouseover", (function(marker, item) {
return function() {
infowindow.setOptions({
content: 'SOME CONTENT HERE FOR INFOWINDOW'
});
infowindow.open(map, marker);
}
})(marker, item));
// remove infowindow
google.maps.event.addListener(marker, 'mouseout', function() {
infowindow.close();
});
// marker click
google.maps.event.addListener(marker, 'click', function() {
window.location.href = marker.url;
});
}
}
});
正如下面可以看到,第一圖像示出了在標記物的底部顯示的信息窗口,而第二個示出了在標記物的頂部顯示信息窗口。地圖不移動,但infowindow將其位置設置在地圖的邊界內。
什麼是你的代碼來實現這個功能是什麼樣子? – geocodezip
添加了我的Javascript代碼。 –