3

我正在尝试使用 ajax jasonp 获取纬度和经度。
有了这个:-

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script>
$(document).ready(function(){
var region = "Rajkot,Jamnagar";
            var cn ="IN";
            var lat;
            var lng;
            var array = region.split(',');
            var lat = new Array(), lng = new Array();

var totalLength = array.length;
var count = 0;
            for(var item in array)
            {
            $.ajax({

                url: "http://services.gisgraphy.com//geocoding/geocode?address="+array[item]+"&country="+cn+"&format=json",
                              async: false,
                              dataType:'jsonp',
                              success: function(data){  
                                count++;
                    lat.push(data.result[0].lat);
                    lng.push(data.result[0].lng);
                    if (count == totalLength) {
                var commaSeperatedLat = lat.toString();
                localStorage.setItem("newlat",commaSeperatedLat);
                var commaSeperatedLong = lng.toString();
                console.log(commaSeperatedLat);
                }
                }
                });
                }
                function all()
                {
                var moodle_groups_id = (localStorage.getItem("newlat"));

                    alert(moodle_groups_id);
                }
                });
</script>
<body>
<input type="button" value="ok" onclick="all()"></input>
</body>

我得到所有的纬度和经度。
但现在我想在单击按钮时出现变量/
我使用 localStorage.setItem 和 getItem。
请帮我解决这个问题。
谢谢。

4

1 回答 1

0

您只需要将函数 all() 传递到 $(document).ready(function() 函数之外;)

<script>
$(document).ready(function(){
var region = "Rajkot,Jamnagar";
            var cn ="IN";
            var lat;
            var lng;
            var array = region.split(',');
            var lat = new Array(), lng = new Array();

var totalLength = array.length;
var count = 0;
            for(var item in array)
            {
            $.ajax({

                url: "http://services.gisgraphy.com//geocoding/geocode?address="+array[item]+"&country="+cn+"&format=json",
                              async: false,
                              dataType:'jsonp',
                              success: function(data){  
                                count++;
                    lat.push(data.result[0].lat);
                    lng.push(data.result[0].lng);
                    if (count == totalLength) {
                var commaSeperatedLat = lat.toString();
                localStorage.setItem("newlat",commaSeperatedLat);
                var commaSeperatedLong = lng.toString();
                console.log(commaSeperatedLat);
                }
                }
                });
                }

                });
                function all()
                {
                var moodle_groups_id = (localStorage.getItem("newlat"));

                    alert(moodle_groups_id);
                }
</script>
于 2013-05-14T17:13:44.413 回答