如何将变量传递给回调函数

时间:2016-09-02 09:24:29

标签: javascript ajax callback

我有以下代码从php脚本接收地址列表,然后发送它们进行地理编码到谷歌地图,然后创建标记和信息窗口。

我的目标是在信息窗口中显示从php脚本收到的原始地址。

但是在正确创建标记的同时,所有信息窗口上的地址都是相同的 - '中的最后一个变量的值为'循环。

我的问题是:如何正确地将地址传递给回调函数?



$.getJSON('dmvsearch.php?zipcode='+zipcode, null, function (res) {
  for (var x = 0; x < res.length; x++) {
        var address=res[x];
        $.getJSON('http://maps.googleapis.com/maps/api/geocode/json?address='+address+'&sensor=false', null, function (data) {
            var p = data.results[0].geometry.location
            var latlng = new google.maps.LatLng(p.lat, p.lng);
            var marker = new google.maps.Marker({
                position: latlng,
                map: map
            });
            var infowindow = new google.maps.InfoWindow();
            infowindow.setContent('<div><strong>' + address + '</strong><br>');
            marker.addListener('click', function() {
              infowindow.open(map, marker);
            });


        });
    }
});
&#13;
&#13;
&#13;

0 个答案:

没有答案