Google Maps API v3:在新窗口中打开标记上的链接

时间:2014-02-07 15:49:51

标签: javascript google-maps google-maps-api-3

似乎是一个非常基本的东西,但我似乎没有找到答案。 这是我的Google地图代码:

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;
});

我需要更改什么,在新窗口中打开链接?

非常感谢!

2 个答案:

答案 0 :(得分:10)

您必须使用open对象的方法window,如下所示:

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

所以你的代码将是这样的:

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

访问此link,了解open方法的概述以及您可以设置的选项。

答案 1 :(得分: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]&# xA;});
 google.maps.event.addListener(marker,'click',function(){
 window.open('https://www.youtube.com/watch?v='+this.url);&# xA;});
  




请注意,密钥在侦听器代码中使用 this.url 。如果我在侦听器代码中使用 marker.url ,它将打开所有标记的许多URL的最后一个。