Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在新窗口谷歌地图API v3中获取方向_Javascript_Google Maps Api 3_Drupal 7_Window.open - Fatal编程技术网

Javascript 在新窗口谷歌地图API v3中获取方向

Javascript 在新窗口谷歌地图API v3中获取方向,javascript,google-maps-api-3,drupal-7,window.open,Javascript,Google Maps Api 3,Drupal 7,Window.open,我用GoogleMapsJSAPI在我的联系人页面中嵌入了一个GoogleMap 我现在想做的就是,当人们点击我的标记时,他们会去maps.google.com获取方向和更多信息 google.maps.event.addListener(marker, 'click', function () { window.open('http://goo.gl/muSZ5','_blank'); }); 这是我的代码,url是指向maps.google.com的短url

我用GoogleMapsJSAPI在我的联系人页面中嵌入了一个GoogleMap

我现在想做的就是,当人们点击我的标记时,他们会去maps.google.com获取方向和更多信息

    google.maps.event.addListener(marker, 'click', function () {
        window.open('http://goo.gl/muSZ5','_blank');
    });
这是我的代码,url是指向maps.google.com的短url,添加了参数

脚本可以工作,但浏览器不会自动转到它打开的选项卡(因为它由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);
@编辑@IMPORTANT
我发现问题只存在于google chrome中,并且只存在于我的网站中…

在我的机器中工作正常。请检查以下代码:

HTML代码:

<script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<div id="map-canvas"></div>​
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();
#map-canvas
{
height: 400px;
width: 500px;
}​
CSS代码:

<script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<div id="map-canvas"></div>​
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();
#map-canvas
{
height: 400px;
width: 500px;
}​

请参见

我拥有的代码更多或更少,但在我的情况下,选项卡打开,但我保留在原始窗口中。我正在尝试将我的代码放入js fiddleOk中。我检查了您的代码,并将其操纵到我的代码中。问题是在JSFIDLE中,它工作正常,而在我的drupal网站中,它不正常(仍然打开选项卡而不去看它)。所以一定有什么东西改变了这种行为,你知道吗?事实上,我对drupal一无所知。你能和我分享一下你的drupal代码吗?我以后才会有,但是如果你知道为什么chrome会打开一个标签,而不是专注于它,那将是一个很大的帮助,它在我的机器上的chrome中工作得很好。您使用的是哪个版本的chrome?