Javascript 为什么Google Places API不执行我的请求?

Javascript 为什么Google Places API不执行我的请求?,javascript,html,google-places-api,Javascript,Html,Google Places Api,我试图创建一个简单的应用程序,在其中插入搜索区域、搜索内容和搜索半径。我不明白为什么它只有在第二次执行查询搜索时才能正常工作,我知道问题可能出在我的codeAddress()函数中: function codeAddress(){ var address = document.getElementById('Zona').value; geocoder.geocode( { 'address': address}, function

我试图创建一个简单的应用程序,在其中插入搜索区域、搜索内容和搜索半径。我不明白为什么它只有在第二次执行查询搜索时才能正常工作,我知道问题可能出在我的codeAddress()函数中:

function codeAddress(){
                var address = document.getElementById('Zona').value;
                geocoder.geocode( { 'address': address}, function(results, status){
                    if (status == google.maps.GeocoderStatus.OK){
                    map.setCenter(results[0].geometry.location);
                    coordo = results[0].geometry.location;
                    }else{
                        alert('Geocode was not successful for the following reason: ' + status);
                    }
                });
            }
出于某种原因,我不知道它会跳过,它不会进入
geocoder.geocode({'address':address},函数(结果,状态)
,但如果是第二次执行函数,而不是第一次执行,它会进入

以下是应用程序:


如果您输入一个城市名称并单击按钮一次,它只需找到位置,如果您再次按按钮,它将按预期工作,它将删除PIN并创建表格。有人知道原因吗?谢谢。

我已经查看了您的代码,正如您所说,函数codeAddress第一次跳转。 我在google site developers上查找地理编码服务的操作,我发现codeAddress函数的行为方式与您的相同

为了解决您的问题,我想您可能会在地理编码之前和启动函数searcha之后运行

为此,我想我应该使用jQuery更改:

$ ("input"). change (function () {
        //your code here
     })
您的函数应该如下所示:

    $(document).ready(function(){
        $("#Zona").change(function codeAddress(){
            var address = document.getElementById('Zona').value;
            geocoder = new google.maps.Geocoder();
            geocoder.geocode( { 'address': address}, function(results, status){
                if (status == google.maps.GeocoderStatus.OK){
                    coordo=(results[0].geometry.location);
                }else{
                    alert('Geocode was not successful for the following reason: ' + status);
                }
            });
        });
    });
我用我的更改修改了您的示例,您可以在此处查看:

你可以照此操作。我已经解决了所有问题。

我不明白。它对我有效。你能更具体地说明什么不起作用吗?