2017-02-07 8 views
0

私はangularjs google places autocompleteをローカルアプリケーションに使用します。 同じコードをローカルアプリケーションにコピーしたときにエラーが発生している場合、コードはプラナーで試行されたときに動作しています。 Working code demo here.angularjs google places autocompleteはローカルでは動作しません

HTMLコード:

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 

任意の提案は、次のようになります。

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); 
     }); 
    } 
    }; 
}); 

以下は私のローカルアプリケーションにしようとしたときに表示されるエラーメッセージです

<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="[email protected]" 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> 

script.jsこのエラーを解決するのに役立ちます。下のスクリーンショットはページはローカルで実行されます。

enter image description here

答えて

0

APIをロードするscript要素は、必要な認証パラメータが欠落しています。標準のMaps JavaScript APIを使用している場合は、有効なAPIキーとともにキーパラメータを使用する必要があります。基本的には、キーを渡す必要があります。api link

+0

キーを生成しない方法がありますか?私がここに示したデモと同じように、キーを生成できますか?http://embed.plnkr.co/ IHj6SlyVyxNJEVtzQWUt /が働いています。この機能を実現するための他のangularjs APIはありますか? – joan

関連する問題