如何在科尔多瓦获取当前位置时修复“REQUEST_DENIED”

Posted

技术标签:

【中文标题】如何在科尔多瓦获取当前位置时修复“REQUEST_DENIED”【英文标题】:How to fix "REQUEST_DENIED" while getting current location in cordova 【发布时间】:2019-05-29 07:56:03 【问题描述】:

我正在尝试使用 Cordova 地理定位插件获取带有地址的当前位置。但我收到以下错误消息。 error_message:“您必须使用 API 密钥来验证每个请求...,请参阅 http://g.co/dev/maps-no-account”,结果:Array(0),状态:“REQUEST_DENIED” error_message: "您必须使用 API 密钥来验证对 Google Maps Platform API 的每个请求。有关其他信息,请参阅http://g.co/dev/maps-no-account" 结果: [] 状态:“REQUEST_DENIED”

获取当前位置。下面我使用的代码请更正我的代码

$scope.init = 函数 ()

    document.addEventListener("deviceready", onDeviceReady, false);


function onDeviceReady() 


    if (navigator.connection.type == Connection.NONE) 

     else 

    
    var networkConnection = navigator.connection.type;

    if (networkConnection != null) 

        navigator.geolocation.getCurrentPosition(success, error);
    
    else 
        alert('Please check your network connection and try again.');
    


function success(position) 

    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;

    getDetails(latitude, longitude);


function error(error) 
    alert('Please check your network connection and try again.');


function getDetails(latitude, longitude) 

    var url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=" + latitude + "," + longitude + "&sensor=false";
    $.getJSON(url, function (data) 

        console.log(data);

    );

请更正我的代码,我希望将当前位置与地址一起输出。感谢您的提前。

【问题讨论】:

您必须使用 API 密钥来验证对 Google Maps Platform API 的每个请求。我想知道如何才能更清楚。 【参考方案1】:

You must use an API key

当您注册地图平台时,您应该已经获得了一个访问密钥,您需要将其与每个请求一起传递以进行身份​​验证。

现在,据我所知,您的 URL 参数上没有该令牌。 (您可能需要将其与请求标头一起发送,查看 API 文档以了解它的预期方式)

编辑:

这是格式:

https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap

试试这个:

var url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=" + latitude + "," + longitude + "?key= "+"ADD YOUR KEY HERE" + "&sensor=false";

另外,请尝试使用模板字符串,而不是在字符串中包含 10 个 +

【讨论】:

感谢您的回复。注册它要求一些金额。我可以免费获得一个吗? 我没有使用过 Google 地图 API,但据我所知,它不是免费的。如果您是学生,请检查是否有任何促销活动等。否则,请尝试 OpenStreetMap API @DoddaNaveenkumar 每个 Maps Platform 帐户每月可获得 200 美元的免费信用额度。阅读文档怎么样? 我创建了 api 密钥,当我在 post man gettig 成功响应中点击第一个时间 url。,第二次点击相同的 url 我得到以下错误消息:“error_message”:“你已经超出了你的每日此 API 的请求配额。如果您没有设置自定义每日请求配额,请验证您的项目是否有一个有效的结算帐户:g.co/dev/maps-no-account"、"results": []、"status": "OVER_QUERY_LIMIT" maps.googleapis.com/maps/api/geocode/…

以上是关于如何在科尔多瓦获取当前位置时修复“REQUEST_DENIED”的主要内容,如果未能解决你的问题,请参考以下文章

科尔多瓦地理定位不会立即观看或获取当前位置

如何修复 Ionic 在科尔多瓦 5.0.0 中无法工作

当getLastLocation时间修复旧时如何获取位置一次

在不启用他们的位置的情况下在科尔多瓦上获取用户位置

如何阻止用户等待很长时间才能获得位置修复?

如何使用 Intentservice 获取位置信息?