2014-02-07 48 views
2

看起來像是一件非常基本的事情,但我似乎沒有找到答案。 這裏是我的谷歌地圖代碼:Google Maps API v3:在新窗口打開標記鏈接

var marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(123, 123), 
     url: "http://www.google.com", 
     map: map 
    }); 

...

google.maps.event.addListener(marker, 'click', function() { 
    window.location.href = marker.url; 
}); 

我需要做什麼去改變,去打開新窗口中的鏈接?

非常感謝!

+0

看看我的答案! – sabotero

回答

6

您必須使用方法openwindow對象是這樣的:

window.open("http://www.w3schools.com");

所以,你的代碼將是這樣的:

google.maps.event.addListener(marker, 'click', function() { 
    window.open(marker.url); 
}); 

參觀此link的概述open方法和您可以設置的選項。

+0

這效果很好:http://bootply.com/111773 – ZimSystem

+0

謝謝!工作得很好! – Arerrac

+0

但是當我點擊時,地圖會丟失標記...爲什麼? – Miguel

0

所以我使用了這種方法,但是當我在循環中製作大量標記時,每個標記都有不同的URL,這是我需要採取的方法。

var newLatlng = new google.maps.LatLng(row[0], row[1]); 
    var marker = new google.maps.Marker({ 
     position: newLatlng, 
     map: map, 
     title: row[2], 
     url: row[3] 
    }); 
    google.maps.event.addListener(marker, 'click', function() { 
     window.open('https://www.youtube.com/watch?v='+this.url); 
    }); 

請注意,密鑰在偵聽器代碼中使用this.url。如果我在偵聽器代碼中使用了marker.url,它將爲所有標記打開多個URL的最後一個。

相關問題