gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 00:16:58 27 4
gpt4 key购买 nike

我正在尝试创建一个简单的应用程序,在其中插入搜索区域、搜索内容和搜索半径。我不明白为什么它只在我第二次执行查询搜索时才能正常工作,我知道问题可能出在我的 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}, function(results, status) 但是相反,如果这是我第二次执行该函数,而不是第一次,它就会进入内部。

这是应用程序:

Jsfiddle如果您输入城市名称并单击按钮一次,它就会找到位置,如果您再次单击按钮,它会按预期工作,它会掉落图钉并创建表格......有人知道为什么吗?谢谢。

最佳答案

我查看了您的代码,正如您所说,函数 codeAddress 第一次跳转。我在 Google 网站开发人员上查找了地理编码服务的操作,发现函数 codeAddress 的行为与您的相同。

为了解决您的问题,我认为您可能会在地理编码之前和启动功能搜索之后运行。

为此,我想我会使用 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);
}
});
});
});

我用我的更改修改了您的示例,您可以在此处查看: http://jsfiddle.net/ftxgm0cn/

关于javascript - 为什么 Google Places API 不执行我的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30377000/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com