【问题标题】:Get directions in new window Google maps API v3在新窗口中获取路线 Google 地图 API v3
【发布时间】:2012-06-27 17:26:41
【问题描述】:

我使用 google maps js api 在我的联系页面中嵌入了一个 google map。

我现在想做的就是,当人们点击我的标记时,他们会转到 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);

@编辑 @重要 我发现问题只存在于谷歌浏览器中,并且只存在于我的网站上......

【问题讨论】:

    标签: javascript google-maps-api-3 drupal-7 window.open


    【解决方案1】:

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

    HTML 代码:

    <script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
    <div id="map-canvas"></div>​
    

    JS 代码:

    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

    【讨论】:

    • 这或多或少是我拥有的代码,但在我的情况下,选项卡打开,但我留在原始窗口中。我正在尝试将我的代码放入 js-fiddle
    • 好的,我检查了您的代码,并将其操作到我的代码中。问题是在 JSFiddle 中它可以正常工作,在我的 drupal 网站中它没有(仍然打开选项卡而不去它)。所以一定是有什么东西改变了这种行为,你知道什么吗?
    • 其实我对drupal一无所知。你能分享你的drupal代码吗?
    • 我稍后才会拥有它,但如果您知道为什么 chrome 会打开一个标签而不专注于它,那将是一个很大的帮助
    • 它在我的机器上的 chrome 中运行良好。您使用的是哪个版本的 chrome?
    猜你喜欢
    • 1970-01-01
    • 2013-04-17
    • 2016-04-18
    • 2013-11-29
    • 2014-09-15
    • 2012-05-27
    • 2011-07-18
    • 2013-12-16
    相关资源
    最近更新 更多