javascript - angularjs 谷歌放置自动完成功能在本地不起作用

标签 javascript angularjs google-places-api

我想在本地应用程序中使用angularjs google Places autocomplete。 在 plunker 中尝试时代码可以正常工作,但是当将相同的代码复制到本地应用程序时,它会抛出错误。 Working code demo here.

HTML 代码:

<body ng-app="myApp" ng-controller="MainController">
    <h1>Hello, World!</h1>
    <input type="text" ng-model="search" my-autocomplete>
    <p>Search: {{search}}</p>

    <script src="http://maps.googleapis.com/maps/api/js?libraries=places&amp;sensor=false"></script>
    <script data-require="angular.js@1.3.0-rc2" data-semver="1.3.0-rc2" src="https://code.angularjs.org/1.3.0-rc.2/angular.js"></script>
    <script src="script.js"></script>
  </body>

脚本.js

angular.module('myApp', [])
.controller('MainController', function($scope) {
})
.directive('myAutocomplete', function($log) {
  return {
    restrict: 'A',
    require: '?ngModel',
    link: function(scope, element, attrs, ngModel) {
      var autocomplete = new google.maps.places.Autocomplete(element[0]);
      google.maps.event.addListener(autocomplete, 'place_changed', function() {
        var address = element.prop('value')
        ngModel.$setViewValue(address);
      });
    }
  };
});

下面是在我的本地应用程序中尝试时显示的错误消息:

Google Maps API error: MissingKeyMapError https://developers.google.com/maps/documentation/javascript/error-messages#missing-key-map-error
_.kb @ js:34
maps.googleapis.com/maps-api-v3/api/js/27/12/util.js:210 Google Maps API warning: NoApiKeys https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys
iB.j @ maps.googleapis.com/maps-api-v3/api/js/27/12/util.js:210
maps.googleapis.com/maps-api-v3/api/js/27/12/util.js:210 Google Maps API warning: SensorNotRequired https://developers.google.com/maps/documentation/javascript/error-messages#sensor-not-required

任何建议都将有助于解决此错误。下面是本地运行时的页面屏幕截图。

enter image description here

最佳答案

加载 API 的脚本元素缺少所需的身份验证参数。如果您使用标准 Maps JavaScript API,则必须使用带有有效 API key 的 key 参数。基本上你必须传递 key 。请参阅 Api 文档 - api link

关于javascript - angularjs 谷歌放置自动完成功能在本地不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42097591/

相关文章:

javascript - 我有一个不能在 IE 中运行的 reactjs 应用程序有人知道为什么吗?

javascript - promise 首先执行特定代码

android - Android 上的 Google Place Picker - 限制区域/半径

javascript - Angular:Chrome 严格模式之外尚不支持 block 作用域声明

javascript - 如何使用 htmlOutput 在 R Shiny 应用程序中启用语法突出显示

javascript - 如何从 Service Worker 调用缓存的 ManifestEntry Javascript 函数?

javascript - 如何重新加载 angularJs ng-table

javascript - 为什么我不能将元素属性传递给 scope.$watch 但我可以传递一个返回它的函数

google-maps - Google Place API 问题

安卓 Google Places API "PLACES_API_QUOTA_FAILED"