87,997
社区成员




<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>所有POI的查询-地址解析</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>
</head>
</html>
<script type="text/javascript">
var mOption = {
poiRadius : 500,
numPois : 12
}
var oFso1,input,input2;
oFso1 = new ActiveXObject("Scripting.FileSystemObject");
input = oFso1.OpenTextFile("c:\\test2.txt",1); //数据来源
while (!input.AtEndOfStream)
{
var sContent = input.ReadLine();
var text=sContent.split(" ");
var mPoint = new BMap.Point(parseFloat(text[2]), parseFloat(text[1]));
var myGeo = new BMap.Geocoder(); //创建地址解析实例
(function(geo,point,option,s){
geo.getLocation
(
point,
function mCallback(rs)
{
var oFso,output;
oFso = new ActiveXObject("Scripting.FileSystemObject");
output = oFso.OpenTextFile("c:\\out.txt",8,true); //写方式打开
var allPois = rs.surroundingPois; //获取全部POI(该点半径为100米内有6个POI点)
var str="";
for(i=0;i<allPois.length;++i){
str += " " + allPois[i].tags;
}
output.Writeline(s + str);
output.Writeline(s);
output.Close();
},
option
);
})(myGeo,mPoint,mOption,sContent);
}
input.Close();
alert("done");
</script>
var mOption = {
poiRadius: 500,
numPois: 12
}
var oFso1, input, input2;
oFso1 = new ActiveXObject("Scripting.FileSystemObject");
input = oFso1.OpenTextFile("c:\\test2.txt", 1); //数据来源
var arr = [];
while (!input.AtEndOfStream) {
var sContent = input.ReadLine();
arr[arr.length] = sContent;////////存数组中
}
input.Close();
var l = arr.length, now = 0;
function ParseAddr() {
var text = arr[now].split(" ");
var mPoint = new BMap.Point(parseFloat(text[2]), parseFloat(text[1]));
var myGeo = new BMap.Geocoder(); //创建地址解析实例
(function (geo, point, option, s) {
geo.getLocation
(
point,
function mCallback(rs) {
var oFso, output;
oFso = new ActiveXObject("Scripting.FileSystemObject");
output = oFso.OpenTextFile("c:\\out.txt", 8, true); //写方式打开
var allPois = rs.surroundingPois; //获取全部POI(该点半径为100米内有6个POI点)
var str = "";
for (i = 0; i < allPois.length; ++i) {
str += " " + allPois[i].tags;
}
output.Writeline(s + str);
output.Writeline(s);
output.Close();
now++;
if (now < l) ParseAddr();///没有解析完继续解析
},
option
);
})(myGeo, mPoint, mOption, sContent);
}
ParseAddr();
不过有个问题。。要是百度出问题或者网络又问题导致不执行mCallback回调,会无法继续进行解析操作