|
。。。不是这样用的,bMap.transCoords是异步的,需要使用回调函数。
function batchTransCoords(original_coords_lists, callback)
{
if(!original_coords_lists.length)
return;
//百度的坐标数组
var coords_lists = [];
function transCoords(index)
{
var original_coords = original_coords_lists[index];
bMap.transCoords({
type: "GPS",
lon: original_coords.lon,
lat: original_coords.lat,
mcode: '******'
}, function(ret, err) {
var coords = {
lon: ret.lon,
lat: ret.lat
};
coords_lists.push(coords);
//全部转换完成,就结束,否则继续转换
if(original_coords_lists.length == coords_lists.length)
{
if(typeof callback === "function")
callback(coords_lists);
}
else
transCoords(index + 1);
});
}
transCoords(0);
}
//使用方法
batchTransCoords(original_coords_lists, function(coords_lists) {
console.log(JSON.stringify(coords_lists));
});
|
|