在配置中我定义:
.config(
['uiGmapGoogleMapApiProvider', function(GoogleMapApiProviders) {
GoogleMapApiProviders.configure({
v: '2.3.3',
libraries: 'weather,geometry,visualization',
key: 'AIzaSyCz2DCKjoWMnlrf0V23RGidagkYrwTce38'
});
}
]);
在index.html中我写道:
<script src="https://maps.google.com/maps/api/js?key=AIzaSyCz2DCKjoWMnlrf0V23RGidagkYrwTce38"></script>
问题是我在这里得到错误:
$scope.location = function () {
window.navigator.geolocation.getCurrentPosition(function (position) {
$scope.$apply(function () {
$scope.position = position.coords;
var geocoder = new google.maps.Geocoder();
geocoder.geocode({
'latLng': {
lat: $scope.position.latitude,
lng: $scope.position.longitude
}
}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
$scope.$apply(function () {
$scope.userLocation = results[0].formatted_address;
});
} else {
$scope.$apply(function () {
$scope.userLocation = "No se ha podido conseguir la dirección";
});
}
}
});
});
}, function (error) {
alert(error);
});
};
因为谷歌告诉我,当你看到我没有插入密钥时,我在
之前就这样做了错误是:
js?v=3.exp&callback=initGoogleMaps:37 Google Maps API error: MissingKeyMapError https://developers.google.com/maps/documentation/javascript/error-messages#missing-key-map-error_.hb @ js?v=3.exp&callback=initGoogleMaps:37(anonymous function) @ common.js:51(anonymous function) @ common.js:191c @ common.js:45(anonymous function) @ AuthenticationService.Authenticate?1shttp%3A%2F%2F47.62.226.23%3A9000%2Fangular%2Findex.html%23%2Fs…:1
答案 0 :(得分:0)
如Error Messages中所述,MissingKeyMapError
是开发人员错误代码,表示:
加载API的脚本元素缺少必需的身份验证参数。如果您使用的是标准Maps JavaScript API,则必须使用带有效API密钥的key参数。如果您是Premium Plan客户,则必须使用带有客户端ID的客户端参数或带有有效API密钥的密钥参数。
根据建议,请参阅API keys and client IDs指南。
如果在检查文档中给出的API密钥后问题仍然存在,请尝试使用gmaps-api-issues中的Issue 9975中给出的解决方法。遇到的问题也可能与提出的问题有关。
除此之外,Geo Developers Blog最近发布的关于Building for Scale: Updates to Google Maps APIs Standard Plan的公告也可能有所帮助。