Location
目录 |
POI搜索API开发指南
POI搜索API是一套由JavaScript语言编写的应用程序接口,他提供了诸如本地搜索、周边搜索、视野内搜索等数据服务。
接口URL
http://map.sina.com.cn/js/isinaMap.php?appkey=1724954872
注:appkey为接口访问授权码,需要注册获取。
开发者访问权限设置
POI搜索API的服务是免费的,但是需要申请appkey来验证开发者身份。
如何申请appkey
- 首先登录http://open.t.sina.com.cn ,用户名和密码的设置请联系微博事业部;
- 以微博用户登陆;
- 创建应用,其中应用名称、应用地址、开发者的名称和网址为必填项;
- 创建成功后可以在“我的应用”选项中获得appkey,将appkey添加的接口url中,如http://map.sina.com.cn/js/isinaMap.php?appkey=1724954872 ,接口即可访问;
访问限制
- 开发者网站域名需要与申请appkey时网址域名一致,否则接口访问受限,例如,申请的开发者网址为http://map.sina.com.cn ,则网站访问地址需要在map.sina.com.cn域名下;
- 同一个appkey每天的网问量限制在500次,如需增加访问量,请联系zhangchao2.staff.sina.com.cn;
示例代码
API调用示例:
<script type="text/javascript" lang="javascript" src=" http://map.sina.com.cn/js/isinaMap.php?appkey=1724954872 "> </script>
代码示例:
function localSearch(){//关键词搜索 var msl=new SLocalSearch();//初始化SLocalSearch类的一个新实例 var mslp=new SLocalSearchOptions();//初始SLocalSearchOptions类的一个新实例。 mslp.pageNum=2;//设置显示第几页 msl.setCallbackFunction(myfunc);//设置回调函数 msl.poiSearchByKeywords("酒店","0010",mslp);//调用关键词搜索方法 }
function myfunc(data){//回调函数 var result=data.result;//判断返回结果是否正确 if(!result) return false; var total=data.totalNum;//返回结果总数 for(var i=0;i<data.poilist.length;i++){ var x=data.poilist[i].x;//每个POI的x坐标 var y=data.poilist[i].y;// 每个POI的y坐标 var address = data.poilist[i].address; //每个POI的地址信息 } }
接口类
SLocalSearch类
SLocalSearch封装了POI搜索功能,包括关键字查询、周边查询和视野内。通过创建一个SLocalSearch对象并调用关键字搜索、周边搜索和视野内搜索相应方法就可以实现本地搜索功能。
构造函数
SLocalSearch() 初始化SLocalSearch类的一个新实例。
关键字搜索
根据关键词搜索POI
- 方法:
- poiSearchByKeywords(keyword,citycode,localSearchOption)。
- 参数:
- keyword:搜索的关键词;
- citycode:城市代码, 格式为:0010,0020;
- option:为SLocalSearchOptions参数对象;
周边搜索
通过中心点关键词查询符合条件的周边POI。
- 方法:
- poiSearchByCenterKeywords(centerKeywords,keyword,citycode,localSearchOption)。
- 参数:
- citycode:城市代码;
- option:为SLocalSearchOptions参数对象;
视野内搜索 在地图视野内搜索查询相关的POI。
- 方法:
- poiSearchByView(keyword,category,xy,option)。
- 参数:
- keyword:搜索的关键词;
- category:搜索的分类;
- xy:视野范围,为地图右上和左下的坐标串,形如: x1,y1,x2,y2;
- option:为SLocalSearchOptions参数对象;
处理搜索回调函数
设置回调方法,返回值为如下表格形式。
- 方法:
- setCallbackFunction(functionName)
- 参数:
- functionName:回调方法
- 返回结果:
JSON示例
{ " result":" 1表示正确返回" , " totalNum ":"总的搜索结果数", " poilist ":{"x":"POI点的x坐标", "y":" POI点y坐标", "name ":"地标名称", "phoneNum ":"地标相关电话号码", "address":"地标地址", "introduce ":"地标相关详细信息", "distance":"到搜索中心点的距离", "citycode":"地标所在城市代码", "category":"地标所属分类", "picurl":"地标相关图片", "bus":"地标所属城市是否有公交" } }
SLocalSearchOptions类
此类代表SLocalSearch的可选参数,用来设置POI搜索的周边查询范围,返回第几页,返回结果个数等参数。
构造函数
SLocalSearchOptions() 初始化SLocalSearchOptions类的一个新实例。
属性
- recordsPerPage:返回每页几条记录。默认值:10;
- pageNum:返回第几页。默认值:1;
- start:返回第一条记录在结果集中的索引,默认为0;
- range:周边查询范。单位:m,默认值:2000m,周边查询专用;
- orderStyle:搜索结果是否按距离排序。默认值:"" ,按与关键字关联度从高到低排序,dr 为查询结果按距离由进到远排序;
- category:查询分类条件,如category=category:150000;
- searchID:POI点ID;