GMaps API - 无响应

Posted

技术标签:

【中文标题】GMaps API - 无响应【英文标题】:GMaps API - no response 【发布时间】:2014-05-08 01:39:58 【问题描述】:

我只是尝试让我的谷歌地图插件工作。 这是我到目前为止写的代码:

    <html class="ui-mobile">
    <head>
        ............
        <script type="application/javascript" src="js/jquery-2.1.0.js"></script>
        <script type="application/javascript" src="js/jquery.mobile-1.4.2.min.js"></script>
        .............
        <script type="text/javascript" src="https://maps.google.com/maps/api/js?v=3.exp&amp;sensor=true"> </script>
        <script type="text/javascript">

            var fromLat = 0.000;
            var fromLng = 0.000;
            var toLat;
            var toLng;
            var mapcontainer;
            var map;

            var directionsDisplay;
            var directionsService = new google.maps.DirectionsService();


            function onGeoGetSuccess (p)
                fromLat = parseFloat(p.coords.latitude);
                fromLng = parseFloat(p.coords.longitude);
                alert("run"); //is fired
                calcRoute();

            
            function onGeoGetFail(e)
                fromLat = 0.00;
                fromLng = 0.00;
                alert("fail");
            
            function calcRoute() 
                var request = 
                    origin: new google.maps.LatLng(fromLat, fromLng),
                    destination:new google.maps.LatLng(toLat, toLng),
                    travelMode: google.maps.TravelMode.WALKING
                ;
                directionsService.route(request, function(response, status) 
                    alert("status "+status )
                    if (status == google.maps.DirectionsStatus.OK) 
                      directionsDisplay.setDirections(response);
                    
                );
            
            function initGmap()
                directionsDisplay = new google.maps.DirectionsRenderer();
                var mapOptions = 
                    zoom: 7,
                    disableDefaultUI : true,
                    draggable : false,
                    keyboardShortcuts : false,
                    scrollwheel : false,
                    mapTypeId: google.maps.MapTypeId.WALKING
                
                map = new google.maps.Map(mapcontainer.find(".map-canvas").get(0), mapOptions);
                directionsDisplay.setMap(map);
                directionsDisplay.setPanel(t.find(".mapcontainer").get(0));

            

        ///// just to show - this is triggered on a subpage which is autoloaded by jquery mobile
        $(".building_page").on("pageshow",function()
                    t = $(this)
                    c = t.attr('data-destination').split(',');
                    toLat = c[0];
                    toLng = c[1];
                    mapcontainer = t;
                    google.maps.event.addDomListener(t, 'load', initGmap); 
                    navigator.geolocation.getCurrentPosition(onGeoGetSuccess, onGeoGetFail);
                );

        </script>
    </head>
    <body >
    <ul class="nativeDroidCards">
        <li>.........</li>
        <li>........</li>
        <li id="building_E_map" >
            <div class="map-canvas"></div>
            <div class="mapcontainer"></div>
            <a  href="maps:q=dfsfdsfdsfffdsf"><i class="icon-screenshot"></i>Navigation </a>
        </li>
    </ul>
    </body>
</html>

我可以说一切都很好,纬度设置正确,设备的地理位置是正确的usw。

但我的容器是空的,没有错误。没有。 我调试了它,所以很清楚:

directionsService.route(request, function(response, status) 
                    alert("status "+status )
                    if (status == google.maps.DirectionsStatus.OK) 
                      directionsDisplay.setDirections(response);
                    
                );

从不打。它只是从未调用过。 但也不会在任何地方触发错误。

只是,......荒谬。

有什么想法吗?

提前致谢

【问题讨论】:

什么动作会导致地图显示?您发布的代码中没有任何内容可以说明这一点。 【参考方案1】:

您包含两次 API。一次记录方式,一次错误:

<script type="text/javascript" src="https://maps.google.com/maps/api/js?v=3.exp&amp;sensor=true"> </script>
<script src="https://maps.gstatic.com/intl/de_de/mapfiles/api-3/16/5/main.js" type="text/javascript"></script>

去掉不正确的(第二个,你不能直接访问API...)

【讨论】:

哦,对不起,我只是从浏览器的输出中获取 c&p。该脚本正在动态注入它。对不起。 浏览器不应该这样做。您是否从调试器中转储它?也许你可以提供一个展示问题的 jsfiddle。

以上是关于GMaps API - 无响应的主要内容,如果未能解决你的问题,请参考以下文章

NEXTJS 将表单数据发送到 api 端点 - 无响应

Amazon Sp-Api createFeedDocument,无响应 (Node.js) / 和 InvalidInput-contentType 错误

Mac下SoapUI 启动无响应问题

Mac下SoapUI 启动无响应问题

Mac下SoapUI 启动无响应问题

如何防止 Node.js API REST 应用程序对高 CPU/RAM 使用率无响应?