当前位置:  开发笔记 > Android > 正文

谷歌地图Javascript API V3在移动/本机应用程序中找不到404

如何解决《谷歌地图JavascriptAPIV3在移动/本机应用程序中找不到404》经验,为你挑选了1个好方法。

我可以让谷歌地图在浏览器中显示没有问题.当我使用phonegap构建打包我的应用程序时,它不起作用.在我的远程调试会话中,它说

https://maps.googleapis.com/maps/api/js?key=My_Key_Goes_Here 
Failed to load resource: the server responded with a status of 404 (Not Found)

在我的文档的负责人:



在网络控制台中,我得到:

Request URL:http://maps.googleapis.com/maps/api/js?key=MyKeyHere
Request Method:GET
Status Code:404 Not Found (from cache)
Response Headers
Client-Via:shouldInterceptRequest
Request Headers
Provisional headers are shown
Accept:*/*
User-Agent:Mozilla/5.0 (Linux; Android 5.0.2; SM-T530NU Build/LRX22G; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/46.0.2490.76 Safari/537.36
Query String Parameters
view source
view URL encoded
key: MyKeyDisplayedHere

在我的config.xml文件中,我包含以下行:







我正在使用jQuery Mobile,我没有在第一页上显示地图而是在另一页上显示地图.无论如何,它在尝试从API获取时会给出404,但这里是locations.js文件中的JS代码:

$(document).on('pageshow', "#map-page", function() {
    var defaultLatLng = new google.maps.LatLng(34.0983425, -118.3267434);  // Default to Hollywood, CA when no geolocation support
    if ( navigator.geolocation ) {
        function success(pos) {
            // Location found, show map with these coordinates
            drawMap(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude));
        }
        function fail(error) {
            drawMap(defaultLatLng);  // Failed to find location, show default map
        }
        // Find the users current position.  Cache the location for 5 minutes, timeout after 6 seconds
        navigator.geolocation.getCurrentPosition(success, fail, {maximumAge: 500000, enableHighAccuracy:true, timeout: 6000});
    } else {
        drawMap(defaultLatLng);  // No geolocation support, show default map
    }
    function drawMap(latlng) {
        var myOptions = {
            zoom: 10,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
        console.log('hey');
        // Add an overlay to the map of current lat/lng
        var marker = new google.maps.Marker({
            position: latlng,
            map: map,
            title: "Greetings!"
        });
    }
});

我也尝试将API的href更改为"http"而不是"https"



1> Erik Grossku..:

经过一番挖掘,我在这里找到了一些文档:

显然你必须添加白名单插件而不是原生插件,所以我将config.xml文件更改为:

 
        
        
        
        

        

它现在可以在移动应用程序中使用,我也可以使用我白名单的外部资源.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有