功能介绍:MFC调用百度地图API批量检索并返回和保存所有POI数据
软件截图如下:
使用教程:(文末附JS代码和MFC VS2015工程文件)
功能介绍:
一、更改城市
二、坐标点位置抓取
1、在地图中随意点击一点
2、点击获取坐标,即可得到对应点的经度纬度坐标。(反之可以将已知经纬度的坐标点显示到图层上)
三、POI检索
1、点击手选
2、在地图上点选区域左下角坐标(先选择左下角,再选择右上角。)
3、在地图上点选区域右上角坐标
4、拖动图标选择更合适的区域
5、输入关键词
6、点击检索
7、得到检索结果(注意:当检索标志为“Done!”时,表示检索完成。)
8、点击保存Excel保存检索数据(再次保存时,请删除掉以前保存的数据。)
9、打开生成的Excel查看生成数据
四、清理图层
点击清理图标,清理掉当前页面除原始图层外所有图标
五、恢复初始化
点击恢复初始化,地图会回到最初状态
注意:检索的地点不能超过760个,因为百度地图API作出了限制。如果需要检索超过760个信息,请分区域检索。
核心JS代码:
function POISearch(JD,WD,keyword)
{
//设置检索参数
var options = {
onSearchComplete: function(results){
if (local.getStatus() == BMAP_STATUS_SUCCESS){
var s = [];
var totalResults = results.getNumPois();
var totalPages = results.getNumPages();
var currPage = results.getPageIndex();
for (var i = 0; i < results.getCurrentNumPois(); i ++){
ele.value=ele.value+count+":"+results.getPoi(i).title + ", " + results.getPoi(i).address+" ("+results.getPoi(i).point.lng+","+results.getPoi(i).point.lat+") "+mytags+"\n";
var marker4 = new BMap.Marker(new BMap.Point(results.getPoi(i).point.lng,results.getPoi(i).point.lat));
window.map.addOverlay(marker4);
}
if (results.getPageIndex() < results.getNumPages() - 1)
local.gotoPage(results.getPageIndex() + 1);
}
pageCapacity:50
}
};
var local = new BMap.LocalSearch(map, options);
//设置边界
var Mybs=map.getBounds();
local.searchInBounds(keyword,Mybs);
}
JS代码和MFC VS2015工程文件下载:MFC调用百度地图API批量检索并返回和保存所有POI数据-Javascript代码类资源-CSDN下载