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 に答える