Javascript Execution - Google Api



这是我从:

的代码

http://jsfiddle.net/njdvn/36/

很奇怪的是,在我单击地理编码按钮后,AutoSuggest似乎仅在最后一个输入框上激活。这是IM的代码:

<html>
<head>
<script src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script>
<script>
function getLatLng() {
    var geocoder = new google.maps.Geocoder();
    var address = document.getElementById('address').value;
    var input = document.getElementById('searchTextField');
    var options = {
    types: [],
    };
var autocomplete = new google.maps.places.Autocomplete(input, options);
    geocoder.geocode({
        'address': address
    }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var latLng = results[0].geometry.location;
            $('#lat').val(results[0].geometry.location.lat());
            $('#lng').val(results[0].geometry.location.lng());
        } else {
            alert("Geocode was not successful for the following reason: " + status);
        }
    });
}
</script>
</head>
    <body>
        <div>
            <input id="address" type="textbox" value="Sydney, NSW">
            <input type="button" value="Geocode" onclick="getLatLng()">
            <input id="lat" type="textbox" value="lat">
            <input id="lng" type="textbox" value="lng">
            <input id="searchTextField" type="text" size="50" value="">
           </div>
      </body>
</html>

什么给?我以前从未有过这个,但这是我试图组合的第一个脚本。

这是由于以下行:

var autocomplete = new google.maps.places.Autocomplete(input, options);

input将其链接到:

var input = document.getElementById('searchTextField');

这是最后一个输入框。

此外,您必须在Google自动完成链接之前单击geocode按钮,因为您已将getLatLng()调用绑定到单击地理标准按钮:

<input type="button" value="Geocode" onclick="getLatLng()">

因为Google自动完成从此功能内部激活,因此您不能在不按按钮的情况下初始化它。

您是在getLatLng函数中初始化自动完成的,因此它是不可用的,直到单击按钮并称为函数

相关内容

  • 没有找到相关文章

最新更新