问一个闭包相关的问题,百度地图的转换坐标的方法

这是一个根据

var convertor = new BMap.Convertor();
    function getRestaurants(geohash){
      $.get("/restaurants/" + geohash + "/0/200",{},function(json){
        restaurants = JSON.parse(json);
        var len = restaurants.length;

        for(var i = 0; i < len; i++){
          restaurants[i];
          
          //获取数组中的对象的坐标,通过convertor.translate()方法转换为百度坐标,但是convertor.translate()是一个异步方法,如何坐标与数组中的对象对应起来
          var ggPoint = new BMap.Point(restaurants[i]["longitude"],restaurants[i]["latitude"]);
          var pointArr = [];
          pointArr.push(ggPoint);
          convertor.translate(pointArr, 1, 5,function(data){
            //GPS坐标转换为百度坐标
            //这里我要怎么写获取到对应的 i 呢?
            if(data.status === 0) {
              var marker = new BMap.Marker(data.points[0]);
              var title = restaurants[i]["name"];
              var content =   restaurants[i]["description"] ;
              map.addOverlay(marker);
              addClickHandler(title,content,marker);
            }
          });
        }
      },"json")
    }
阅读 4.6k
1 个回答
(function(i) {
    convertor.translate(pointArr, 1, 5, function(data) {
        //GPS坐标转换为百度坐标
        //这里我要怎么写获取到对应的 i 呢?
        if (data.status === 0) {
            var marker = new BMap.Marker(data.points[0]);
            var title = restaurants[i]["name"];
            var content = restaurants[i]["description"];
            map.addOverlay(marker);
            addClickHandler(title, content, marker);
        }
    })
})(i);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题