首页 > 解决方案 > Google Map API 密钥问题 Javascript

问题描述

我已经在https://console.cloud.google.com上生成了 api 密钥。然后我在我的代码中使用该键,例如我的脚本标签中的“ https://maps.googleapis.com/maps/api/js?key=MyKey&callback=initMap ”。当我访问生成的 url 时,会出现错误:

您必须使用 API 密钥来验证对 Google Maps Platform API 的每个请求。有关其他信息,请参阅 http://g.co/dev/maps-no-account

    function initMap(){
        //
    }
    var x = document.getElementById('output');

    function getLocation() {
        if (navigator.geolocation){
            navigator.geolocation.getCurrentPosition(showPosition);
        }
        else{
            x.innerHTML = "Browser Not Compatible";
        }
    }
    function showPosition(position) {
        x.innerHTML = "latitude = "+position.coords.latitude;
        x.innerHTML += "<br>";
        x.innerHTML += "longititude = "+position.coords.longitude;

        var locAPI = "http://maps.googleapis.com/maps/api/geocode/json?latlng="+position.coords.latitude+","+position.coords.longitude+"&sensor=true";
        x.innerHTML = locAPI;

    }
<div id="wrapper">
    <button id="location-button"
    onclick="getLocation()">Get User Location</button>
    <div id="output"></div>
</div>

有人可以帮我解决这个问题吗

标签: javascriptjquerygoogle-maps

解决方案


我认为您错过了showPosition(). 你能试试这个:

function showPosition(position) {
    x.innerHTML = "latitude = "+position.coords.latitude;
    x.innerHTML += "<br>";
    x.innerHTML += "longititude = "+position.coords.longitude;

    var locAPI = "http://maps.googleapis.com/maps/api/geocode/json?latlng="+position.coords.latitude+","+position.coords.longitude+"&sensor=true&key=your_key";
    x.innerHTML = locAPI;

}

希望这可以帮助!


推荐阅读