我使用的是Google Maps API v3
,並且有幾個地圖標記鏈接到不同的頁面。當onmouseover
的狀態欄是而不是顯示的網址,但是當點擊標記時確實在狀態欄顯示URL加載文本。
看來我的代碼與狀態欄有某些衝突,還是你必須指定一個屬性來顯示狀態欄?這裏是我的代碼:
如何讓Google地圖在狀態欄中顯示地圖標記鏈接?
function initialize(mapInfo)
{
// object literal for map options
var myOptions =
{
center: new google.maps.LatLng(30, 3), // coordinates for center of map
zoom: 2, // smaller number --> zoom out
mapTypeId: google.maps.MapTypeId.HYBRID // ROADMAP, SATELLITE, TERRAIN, or HYBRID
};
// note: if the id has a dash in its' name, map instantiation doesn't work!
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
// MAP MARKERS instantiated here
for(var i = 0; i < mapInfo.length; i++)
{
var link = mapInfo[i].link;
var name = mapInfo[i].name;
var lat = mapInfo[i].lat;
var lng = mapInfo[i].lng;
// object literal for each map marker
var marker = new google.maps.Marker(
{
url: link,
title: name,
position: new google.maps.LatLng(lat, lng),
map: map
});
// setting the link to each map marker here
setLink(marker);
// setting each map marker here
marker.setMap(map);
}
} // end of function initialize()
function setLink(mapMarker)
{
// event listener for marker links added to each marker
google.maps.event.addListener(mapMarker, "click", function()
{
window.location.href = mapMarker.url; // obtaining the url from the object literal
});
}
...我收到從阿賈克斯對象字面的MapInfo(傳遞到函數初始化),用JSON解析 - 只是爲了澄清MapInfo的性能。
* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *編輯: ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ****
這裏是一個解決方案,簡單地將鏈接在infowindow
來代替:
// object literal for each map marker
var marker = new google.maps.Marker(
{
//url: link,
title: name,
content: "<a href = " + link + ">" + name + "</a>",
position: new google.maps.LatLng(lat, lng),
map: map
});
setWindow(map, marker);
function setWindow(map, mapMarker)
{
// event listener for marker links added to each marker
google.maps.event.addListener(mapMarker, "click", function()
{
var infowindow = new google.maps.InfoWindow(
{
content: mapMarker.content
});
infowindow.open(map, mapMarker);
});
}
哇,所以這是不可能的,然後...我唯一的解決方案,這是接近我想要的,是改變地圖標記事件監聽器顯示一個「infowindow」與其中的鏈接,而不是 - url **是**然後顯示在狀態欄中(我已經在上面添加了這些細節)。 –
..哈哈! - 「TL; DR」 –