百度地图api怎么批量获取经纬度坐标?
我有一个列表,列表内容大概是一下这样,记录若干条,我现在想根据地标名称和城市名称,查询出百度地图对应的经纬度,一次性批量完成,请问要怎么做?
试过循环调用LocalSearch,但是循环速度太快的话,LocalSearch的回调函数来不及处理,也就得不到结果了
初次解除百度地图api,方法比较笨,请大神指点
地标名称 城市名称 百度地图经度 百度地图纬度
(MarkName) (cityName)
纺织大观园 南通市
九里汉文化旅游区 徐州市
文峰塔 阜阳市
赤峰博物馆 新城区
寒山寺 苏州市
金鸡湖 苏州市
世纪工艺品广场 深圳市
翠湖公园 昆明市
海滨(菊花岛) 葫芦岛市
var strJson = "";
// 【百度地图经纬度】
function EditMarkAll() {
strJson = "";
// 数据库查询,查询全表
var data = // 这里是从数据库中查询得到的一个datatable(就是上面的列表);
for (var i = 0; i < data.Rows.length; i++) {
var nDr = data.Rows[i];
if (i == data.Rows.length - 1) {
// 最后一次循环
GetPointMap(nDr["MarkName"], nDr["cityName"], nDr["MarkID"], true);
}
else {
GetPointMap(nDr["MarkName"], nDr["cityName"], nDr["MarkID"], false);
}
}
}
// 使用百度地图接口查询地点坐标
function GetPointMap(markName, cityName, markId, bl) {
var lat = "";
var lng = "";
//if (markName == "" || cityName == "") {
// strJson += "," + lat + "/" + lng + "/" + markId;
// return;
//}
var map = new BMap.Map("container");
var local = new BMap.LocalSearch(cityName, { renderOptions: { map: map } });
local.onSearchComplete(function (results) {
var poi = results.getPoi(0);
console.log(poi);
lat = results.Dq[0].point.lat;
lng = results.Dq[0].point.lng;
strJson += "," + lat + "/" + lng + "/" + markId;
if (bl) {
console.log(strJson);
/// 最后一次循环时,进入后台方法,更新数据坐标
alert("获取完成");
}
});
local.search(cityName + markName);
}