【发布时间】:2021-09-28 07:42:52
【问题描述】:
我正在使用 Google Maps API JavaScript 库,我正在寻找如何捕获 RefererNotAllowedMapError 的建议?我对我的密钥使用了应用程序限制,我需要确保我正确处理了这个错误,但我不明白如何才能捕捉到它。
我观察到错误是在脚本加载后发生的。该脚本已成功加载,然后稍后出现错误。 我正在动态加载脚本,加载时没有发生错误 - 未输入 catch 块,打印成功加载。
this.loadScript(`https://maps.googleapis.com/maps/api/js?libraries=places&key=${key}&language=${language}`)
.then(() => {
console.log('loaded successfully');
})
.catch((error) => {
console.log('error on loading');
});
loadScript(url: string) {
return new Promise((resolve, reject) => {
const script = this.renderer.createElement('script');
script.type = 'text/javascript';
script.src = url;
script.text = '';
script.async = true;
script.defer = true;
script.onload = resolve;
script.onerror = reject;
this.renderer.appendChild(this.document.body, script);
});
}
那么,发生这个错误后,当尝试使用库中提供的任何对象及其方法时,例如:
const autocompleteService = new google.maps.places.AutocompleteService();
autocompleteService.getPlacePredictions(request, (predictions, status) => {
if (status === google.maps.places.PlacesServiceStatus.ZERO_RESULTS) {
resolve([]);
} else if (status === google.maps.places.PlacesServiceStatus.OK) {
resolve(predictions);
} else {
reject(new Error(status));
}
});
我没有收到任何错误,但从未调用过回调,所以在这里我也无法进行任何处理。
非常感谢任何帮助。谢谢。
【问题讨论】:
标签: javascript google-maps google-maps-api-3 google-places-api