javascript - Google 地方搜索框不仅在我的 html 页面中有效
问题描述
请帮助,谷歌地方搜索框在我的 html 页面中不起作用。我什至在新页面中尝试过,但仍然没有结果。它只是显示像
当我输入任何地方时。以下是我使用的代码。
<div id="locationField">
<input id="autocomplete" placeholder="Enter your address" type="text" />
</div>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCKQX3cyZ7pVKmBwE8wiowivW9qH62AVk8&libraries=places&callback=initAutocomplete" async defer></script>
<script>var placeSearch, autocomplete, geocoder;
function initAutocomplete() {
geocoder = new google.maps.Geocoder();
autocomplete = new google.maps.places.Autocomplete(
(document.getElementById('autocomplete'))/*,
{types: ['(cities)']}*/);
autocomplete.addListener('place_changed', fillInAddress);
}
function codeAddress(address) {
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == 'OK') {
alert(results[0].geometry.location);
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
function fillInAddress() {
var place = autocomplete.getPlace();
alert(place.place_id);
// codeAddress(document.getElementById('autocomplete').value);
}</script>
解决方案
欢迎来到stackoverflow Sai!
当我将您的示例代码复制并粘贴到一个新的 html 文件并使用 Chrome 打开它时,我会遇到与您相同的错误。但是开发者控制台中有一个提示有什么问题:
谷歌地图 JavaScript API 错误:RefererNotAllowedMapError https://developers.google.com/maps/documentation/javascript/error-messages#referer-not-allowed-map-error
您要授权的站点 URL:file_url /.../test.html
当你点击上面的链接时,你会得到这个解释:
RefererNotAllowedMapError
当前加载 Maps JavaScript API 的 URL 尚未添加到允许的引荐来源网址列表中。请在 Google Cloud Platform Console 上检查您的 API 密钥的引用设置。
因此,您必须将此功能的页面 URL 列入白名单。希望这可以帮助!
推荐阅读
- c++ - JNI c++ Netbeans 调试
- android - 将扩展 FAB 转换为标准 FAB
- email - 经典 ASP - 在通过 CDONTS 发送电子邮件时实现 SMTP 身份验证
- javascript - 无法连接到 shipstation 的 api
- parsing - Nearley 语法与终端和非终端一个接一个地匹配相同的文本位,产生错误的结果
- java - 如何在获取请求中将keycloak生成的令牌传递给rest api?
- postgresql - 将数据库及其表结构克隆到另一个数据库(无数据)
- c++ - 如何将不同的成员函数指针分配给注册类的不同实例?
- c# - 如何检查设置中是否存在属性?
- php - 如何使用 php 从表单中插入自动填充数据