【问题标题】:Displaying coordinates from many addresses(Google Map API)Geocoding显示来自多个地址的坐标(Google Map API)地理编码
【发布时间】:2019-11-08 03:36:31
【问题描述】:

我在数据库中保存了三个地址,我正在输出它们并使用 jQuery 检索值。但是,控制台只显示带有经度和纬度的第三个字段。

我试过用while函数获取三个地址,用console.log(i)显示i的值,但只显示第三个。

PHP:

<?php $count = 0?>
<?php foreach($get_address as $get) {?>
<?php $count += 1;?>
<input type="text" id="address_<?=$count?>" value="<?=$get->address?>">
<input type="text" id="latitude_<?=$count?>">
<input type="text" id="longitude_<?=$count?>"><br>
<?php } ?>
<input type="hidden" id="count_address" value="<?=$count_address->count_address?>"><br>

JavaScript:

function getCoor(){
    var count = 3;
    var i = 1;
while(true){

var geocoder = new google.maps.Geocoder();
var address = $("#address_"+i).val();

geocoder.geocode( { 'address': address}, function(results, status) {

if (status == google.maps.GeocoderStatus.OK) {
 var latitude = results[0].geometry.location.lat();
 var longitude = results[0].geometry.location.lng();
 $("#latitude_"+i).val(latitude);
 $("#longitude_"+i).val(longitude);
 console.log(i);

      } 
});

    if(count == i){
        break;
    }
     i += 1;
    }

}

【问题讨论】:

  • 请阅读How to Ask。您需要向我们解释您的具体问题是什么,而不仅仅是您“想要”什么。你有多个字段,其 id 的末尾包含一个“索引”,所以……然后循环它们?

标签: javascript php codeigniter geocoding


【解决方案1】:

这是因为 geocoder.geocode 是异步调用。

阅读更多关于 let here

请参考here您面临的问题。

试试下面的代码。

function getCoor(){
  let count = 3;

  for (let i = 1; i < count; i++) {
    let geocoder = new google.maps.Geocoder();
    let address = $("#address_"+i).val();

    geocoder.geocode( { 'address': address}, function(results, status) {

      if (status == google.maps.GeocoderStatus.OK) {
         let latitude = results[0].geometry.location.lat();
         let longitude = results[0].geometry.location.lng();
         $("#latitude_"+i).val(latitude);
         $("#longitude_"+i).val(longitude);
         console.log(i);
      } 
    });
  }
}

【讨论】:

    猜你喜欢
    • 2013-11-07
    • 1970-01-01
    • 2012-04-29
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 2016-07-20
    • 2012-05-30
    相关资源
    最近更新 更多