【问题标题】:Why wont Google Maps API Key recognise my referrer URL?为什么 Google Maps API Key 无法识别我的引荐来源网址?
【发布时间】:2016-04-21 11:38:18
【问题描述】:

我的网站域 (devodeliver.co.uk) 上有一个 html 文件,它使用代码调用我的 API 密钥。

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MY-KEY"></script>

在开发者控制台中,我尝试添加我的域 URL 的每个组合,如下所示

但是当我加载我的网站时,它会显示地图一毫秒然后返回错误“Google Maps API 错误:InvalidKeyMapError https://developers.google.com/maps/documentation/javascript/error-messages#invalid-key-map-error_.bb@MY-KEY:32” - 基本上是说我没有给我的网站许可访问该 API 密钥。但即使我没有设置任何推荐人,它也会返回相同的错误消息。我还等了超过 5 分钟让 API 生效。请问,我做错了什么?!我花了将近 16 个小时试图弄清楚这一点,但我似乎一辈子都做不到。帮助!

完整的 HTML 代码:

 <html>
 <head>

    <style type="text/css">
      #map
      {
        height:400px;
        width:400px;
        display:block;
      }
    </style>

    <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB7-LTLEupUWBJBWl1GpOWPwkMvxzf8itQ"></script>

    <script type="text/javascript">

        function getPosition(callback) {
          var geocoder = new google.maps.Geocoder();
          var postcode = document.getElementById("postcode").value;

          geocoder.geocode({'address': postcode}, function(results, status)
          {
            if (status == google.maps.GeocoderStatus.OK)
            {
              callback({
                latt: results[0].geometry.location.lat(),
                long: results[0].geometry.location.lng()
              });
            }
          });
        }

        function setup_map(latitude, longitude) {
          var _position = { lat: latitude, lng: longitude};

          var mapOptions = {
            zoom: 16,
            center: _position
          }

          var map = new google.maps.Map(document.getElementById('map'), mapOptions);

          var marker = new google.maps.Marker({
            position: mapOptions.center,
            map: map
          });
        }

        window.onload = function() {
          setup_map(51.5073509, -0.12775829999998223);

          document.getElementById("form").onsubmit = function() {
            getPosition(function(position){

              var text = document.getElementById("text")
              text.innerHTML = "Marker position: { Longitude: "+position.long+ ",  Latitude:"+position.latt+" }";

              setup_map(position.latt, position.long);
            });
          }
        }
    </script>

 </head>
 <body>
    <form action="javascript:void(0)" id="form">
      <input type="text" id="postcode" placeholder="Enter a postcode">
      <input type="submit" value="Show me"/>
    </form>
    <div id="map"></div>
    <div id="text"></div>
 </body>
 </html>

【问题讨论】:

    标签: javascript google-maps google-maps-api-3


    【解决方案1】:

    在这里,当我测试它时,它在 JS 控制台上给了我错误“Google Maps API 错误:ApiNotActivatedMapError”。

    查看此问题:https://developers.google.com/maps/documentation/javascript/error-messages#deverrorcodes

    当您通过 Maps-Javascript-API 使用库或服务并使用密钥时,您需要激活 Google Maps JavaScript API

    确保为您的项目激活 Google Maps JavaScript API

    还有,

    查看有关启用 Google Maps Jvascript API 的其他主题:Google Map error: InvalidKeyOrUnauthorizedURLMapError

    【讨论】:

      猜你喜欢
      • 2016-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-20
      • 2012-08-14
      • 2010-12-30
      相关资源
      最近更新 更多