目前我正在使用Angularjs开展一个位置项目,我正在使用谷歌地图JavaScript api来加载地图,以及谷歌自动完成服务。我从http://maps.googleapis.com/maps/api/js下载了JS并放在项目js文件夹中。
我已经创建了该指令,代码如下:
.directive('callerLocation', function(){
return {
restrict:'E',
replace:true,
scope: {callerLocation:'='},
template: '<input id="caller_location" name="caller_location" type="text"/>',
link: function($scope, elm, attrs){
var autocomplete = new google.maps.places.Autocomplete($("#caller_location")[0], {});
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
$scope.callerLocation=place.formatted_address;
$scope.$apply();
});
}
}
})
使用以下代码
访问它是html <caller-location caller-location=caller_location class="form-control"></caller-location>
它可以工作3-4天,之后它会提供访问禁止的问题。
我在应用程序中包含如下的js。(address.js包含来自http://maps.googleapis.com/maps/api/js的js)
module.exports = {
client: {
lib: {
js: [
'public/lib/google/address.js'
]
}
}
}
答案 0 :(得分:1)
遇到了同样的问题。禁用Rocketloader使网站恢复正常运行。
答案 1 :(得分:0)
HTTP状态403代表&#34;访问被禁止&#34;。您确定申请了访问令牌并正确使用该令牌吗?这个问题很可能是由于令牌配置错误造成的。
如果您已在Google API控制台上注册了API密钥,则需要将脚本嵌入:
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>