1

我正在尝试使用 javascript 将值推送到变量中push()。是三个值。

  1. 纬度
  2. 经度
  3. 地区

经纬推送成功;区域没有被推送 - 它是未定义的。

我知道这是一个变量定义问题,但即使我全局定义了这个变量,我仍然遇到这个问题。

这是我的代码:-

var get_all = new Array;
var result_lat = new Array;
var result_lng = new Array;
var activity_2= "Rajkot,Jamnagar,Surat";
var array_rg_name = activity_2.split(',');
            var cn = "IN";
for (var i=0; i<array_rg_name.length; i++ ){
            $.ajax({
                url: "http://services.gisgraphy.com//geocoding/geocode?address="+array_rg_name[i]+"&country="+cn+"&format=json",
      async: false,
      dataType:'jsonp',
      success: function(data){        
            lat = data.result[0].lat;
            result_lat.push(lat);
            lng = data.result[0].lng;
            result_lng.push(lng);
          get_all.push('Latitude: '+lat,'Longitude: '+lng,'Region: '+ array_rg_name[i]);
          }
            });
        }
$('button').click(function(){
    alert(result_lat);
 alert(result_lng);
 alert(get_all);
})

有一个 jsfiddle 链接:- http://jsfiddle.net/Tr6sm/2/

有什么建议么?

4

1 回答 1

3

这应该工作演示

请注意,我将 rg 定义为 ajax 调用 rg:array_rg_name[i] ... 的一部分 ...并稍后使用 this.rg ...

var get_all = new Array;
var result_lat = new Array;
var result_lng = new Array;
var activity_2= "Rajkot,Jamnagar,Surat";
var array_rg_name = activity_2.split(',');
            var cn = "IN";
for (var i=0; i<array_rg_name.length; i++ ){

            $.ajax({
                rg: array_rg_name[i],
                url: "http://services.gisgraphy.com//geocoding/geocode?address="+array_rg_name[i]+"&country="+cn+"&format=json",
                async: false,
                dataType:'jsonp',
                success: function(data){        
                     lat = data.result[0].lat;
                     result_lat.push(lat);
                     lng = data.result[0].lng;
                     result_lng.push(lng);
                     get_all.push('Latitude: '+lat,'Longitude: '+lng,'Region: '+ this.rg);
                 }
            });
}
$('button').click(function(){
    alert(result_lat);
 alert(result_lng);
 alert(get_all);
})
于 2013-05-15T11:06:16.863 回答