我在google maps js api的联系页面中嵌入了谷歌地图。
现在我想做的就是当人们点击我的标记时,他们会去maps.google.com获取路线并找到更多信息。
google.maps.event.addListener(marker, 'click', function () {
window.open('http://goo.gl/muSZ5','_blank');
});
这是我的代码,该网址是maps.google.com的一个简短网址,附带参数。
该脚本有效,但是浏览器不会自动转到它打开的选项卡(因为它是由javascript触发器调用的)
有谁知道如何解决这个问题。
因此,单击标记,新窗口(选项卡)打开,自动转到该窗口(选项卡)
这是我的完整代码:
(function ($) {
Drupal.behaviors.location_block = {
attach: function (context, settings) {
console.log('test');
var myOptions = {
center: new google.maps.LatLng(50.87760,4.41923),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(50.87760,4.41923),
map: map,
title: "Ilias",
html: ""
});
google.maps.event.addListener(marker, 'click', function () {
window.open('http://goo.gl/maps/L3rK','_blank');
});
}
};
})(jQuery);
@EDIT @IMPORTANT 我发现这个问题只出现在谷歌浏览器中,而且仅限于我的网站...
答案 0 :(得分:0)
它在我的机器上工作正常。请检查以下代码:
HTML CODE:
<script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<div id="map-canvas"></div>
JS CODE:
function initialize() {
var myLatLng = new google.maps.LatLng( 50, 50 ),
myOptions = {
zoom: 4,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
},
map = new google.maps.Map( document.getElementById( 'map-canvas' ), myOptions ),
marker = new google.maps.Marker( {position: myLatLng, map: map} );
google.maps.event.addListener(marker, 'click', function () {
window.open('http://goo.gl/muSZ5','_blank');
});
marker.setMap( map );
}
initialize();
CSS代码:
#map-canvas
{
height: 400px;
width: 500px;
}
请参阅Online Demo