[英]Google Map Marker InfoWindow Not Showing for location other than starting map location
單擊標記時,我試圖彈出一個信息窗口。 但是,僅當標記位於與創建Google地圖的位置相同的位置時,信息窗口才會顯示。 任何其他標記位置和信息窗口都不會彈出。 這似乎是一個非常奇怪的問題。 控制台上沒有錯誤。
例如在代碼中,如果我將標記的位置設置為傳遞的經度和緯度,即用於制作Google地圖。 沒事。 但是,如果像我對lat +1
所做的那樣稍微改變位置( position_val
),則不會顯示信息窗口。 但是,當我單擊信息窗口時,它確實使地圖居中顯示了信息窗口。 偵聽器確實可以正常工作,就像我嘗試在單擊標記時輸出console.log()一樣。 為什么不能使標記具有不同的位置? 為了簡化起見,我將地圖創建和標記創建結合在一起。
編輯:jsfiddle鏈接: http : //jsfiddle.net/G3b8M/2/
var map;
var infowindow = new google.maps.InfoWindow({});
function makeMap(lat, long) {
var myOptions = {
mapTypeId: google.maps.MapTypeId.ROADMAP,
position: new google.maps.LatLng(lat, long),
zoom: 14,
};
map = new google.maps.Map( document.getElementById("map_canvas"), myOptions);
map.setCenter( myOptions.position);
//position_val = new google.maps.LatLng(lat, long); infowindow works
position_val = new google.maps.LatLng(lat + 1, long); //infowindow doesn't work
var marker = new google.maps.Marker({
position: position_val ,
map: map,
});
map.setCenter(position_val);
var contentString = 'hello how are you';
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(contentString);
infowindow.open(map, marker);
});
}
任何幫助,將不勝感激。 謝謝。
我無法確切地告訴您發生這種情況的原因,通常是不應該的,但是地圖的position
屬性(無論值是什么)的純粹存在似乎是問題所在。
演示的:
position
: http : //jsfiddle.net/doktormolle/wqgLR/ position
: http : //jsfiddle.net/doktormolle/wqgLR/1/ 注意:我對您的代碼做了一些修改,以減少其他可能的原因。 例如,您不應使用long
作為標識符,因為它是保留字 。
但是,對我來說,它與原始代碼中的另一行一起工作是沒有意義的,這很奇怪。
您可能會為此報告一個錯誤 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.