谷歌地图自动填充字段不会列出地址
我已经在Google API上创建了一个项目控制台,并获得了一个浏览器键以显示带有Google地图自动填充的文本框。虽然我在浏览器控制台中没有收到任何错误,但自动完成功能不起作用。这里是我的html谷歌地图自动填充字段不会列出地址
<html>
<head>
<meta charset = "utf-8"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
</head>
<body onload = "initialize();">
<form method = "post">
<input type = "text" id = "autocomplete" placeholder = "Η Διευθυνσή σας"/>
</form>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBmm_XsU6QttZNhw1RfxRHTpavpbN33jX0&libraries=places,geometry" async defer></script>
<script type = "text/javascript">
var autocomplete;
function initialize() {
autocomplete = new google.maps.places.Autocomplete(
/** @type {HTMLInputElement} */(document.getElementById('autocomplete')),
{ types: ['geocode'] });
}
</script>
</body>
,这里是我的测试页面:http://www.lefko-cafe.gr/content/addrress_finder.php
奇怪的是,正是相同的HTML是另一个域中工作(除键):http://www.laoskaikalamaki.gr/content/addrress_finder.php
你的例子都不适合我。 onload事件和脚本加载完成是两个不同的异步事件,它们可能在不同的服务器/浏览器位置以不同的顺序触发。我收到一个javascript错误Uncaught TypeError: Cannot read property 'innerHTML' of null
你有async defer
在你的API中,但没有&callback=initialize
参数。
代码片段:
<body> <!-- remove onload = "initialize();" -->
<form method = "post">
<input type = "text" id = "autocomplete" placeholder = "Η Διευθυνσή σας"/>
</form>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBmm_XsU6QttZNhw1RfxRHTpavpbN33jX0&libraries=places,geometry&callback=initialize" async defer></script>
<form method="post">
<input type="text" id="autocomplete" placeholder="Η Διευθυνσή σας" />
</form>
<script src="https://maps.googleapis.com/maps/api/js?libraries=places,geometry&callback=initialize" async defer></script>
<script type="text/javascript">
var autocomplete;
function initialize() {
autocomplete = new google.maps.places.Autocomplete(
/** @type {HTMLInputElement} */
(document.getElementById('autocomplete')), {
types: ['geocode']
});
}
</script>
所改动Maps API Standard Plan如果你想使用Places Service
需要启用Google Places API Web Service
in the developer console
的如果您想要我们Directions
您需要启用Google Maps Directions API
,如果您想使用Geocoding
您需要启用Google Maps Geocoding API
。
最近这个变了,所以没必要抱歉。
如果您的域名在6月22,2016之后,则需要api-key。你需要的,如果你想使用谷歌自动完成只用JavaScript
- 谷歌地图的JavaScript API
- 谷歌Places API的Web服务
感谢您的答复,但它没有工作,使下面的API。 ... – meidanisalekos
是否会为您的代码片段工作? – geocodezip
是的代码段工作 – meidanisalekos