android百度地图地址解析失败怎么办,【百度地图API】当地址解析失败时,如何调用search方法查找地址...
有个朋友问我,当地址解析失败时,应该如何处理呢?比如,他想搜索“南宁市青秀区”。
-----------------------------------------------------------------------------
首先,我们需要弄明白,地址解析的原理:使用Geocoder进行地址解析,比如“北京市海淀区上地10街”,当系统匹配到这个地址时,getPoint就会返回一个坐标点。
这里需要用到回调函数。
var myGeo = new BMap.Geocoder();// 将地址解析结果显示在地图上,并调整地图视野
myGeo.getPoint("北京市海淀区上地10街", function(point){
if (point) {
map.centerAndZoom(point, 16);
map.addOverlay(new BMap.Marker(point));
}}, "北京市");
当系统无法匹配“北京市海淀区上地10街”的时候,会返回“北京市海淀区”的几何中心点。
如果还是无法匹配,会返回“北京市”的几何中心点。
如果你只是想返回“北京市”的坐标,或者说想要模糊查询,建议不要使用地址解析。
而是使用LocalSearch类的search方法。例子详见:
http://www.cnblogs.com/milkmap/archive/2010/12/22/1914106.html
当地址解析失败时,你可以调用localsearch函数。这个方法被称之为模糊查询。
在以下的例子里,为了方便快捷,我取了第一个查询结果。
这样,当地址解析“南宁市青秀区”失败时,会自动search这个地址,并打点在地图上。
完整源代码:HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
地址解析失败时搜索
var map = new BMap.Map("divMap");
map.centerAndZoom(new BMap.Point(108.532769,22.825487), 12); //这里是定义到了南宁市
var gc = new BMap.Geocoder();
gc.getPoint("南宁市青秀区", function(pt){
if(pt){
map.addOverlay(new BMap.Marker(pt)); //如果地址解析成功,则添加红色marker
}else{
var ls = new BMap.LocalSearch("南宁市");
ls.search("南宁市青秀区");
ls.setSearchCompleteCallback(function(rs){
if (ls.getStatus() == BMAP_STATUS_SUCCESS){
var poi = rs.getPoi(0); //取第1个查询结果
if(poi){
var pt2 = poi.point;
map.addOverlay(new BMap.Marker(pt2)); //如果查询到,则添加红色marker
}
}else{
alert("fail");
}
});
}
}, "南宁市");
android百度地图地址解析失败怎么办,【百度地图API】当地址解析失败时,如何调用search方法查找地址...相关推荐
- android申请多个运行时权限,Android 6.0(API 23) 运行时权限(二)之权限申请
Android M 在上一篇中简单介绍了运行时权限,今天就讲讲怎么去申请权限.这个项目中本来用了一个第三方的权限框架,但是不太好用,我就在github上选择了start最多的PermissionsDi ...
- Android studio 百度地图开发(3)地图导航
Android studio 百度地图开发(3)地图导航 email:chentravelling@163.com 工程下载地址:http://blog.csdn.net/chentravelling ...
- android运动轨迹rungps_android运动轨迹rungps_Android使用百度地图API实现GPS步行轨迹...
下面是效果: 采样点取得太频繁所以看起来像是一个个点... 可以自己设计算法只取有用的点. 为了方便,我直接修改百度提供的示例代码. 要修改的是BMapApiDemoApp.java,Locati ...
- Android 百度地图开发(一)--- 申请API Key和在项目中显示百度地图
2019独角兽企业重金招聘Python工程师标准>>> 最近自己想研究下地图,本来想研究google Map,但是申请API key比较坑爹,于是从百度地图入手,其实他们的用法都差不 ...
- android 记录路线轨迹_基于百度地图SDK记录运动轨迹
标签 : 运动轨迹 百度地图SDK 最终实现的效果如下图所示### 注意1:模拟器上模拟要设置好Location(如果选择None就无法定位了),同时第一次打开应用会提示授权使用地理位置信息,点击允许 ...
- android开发百度地图坐标偏差,利用百度地图Android sdk高仿微信发送位置功能及遇到的问题...
接触了百度地图开发平台半个月了,这2天试着模仿了微信给好友发送位置功能,对百度地图的操作能力又上了一个台阶 我在实现这个功能的时候,遇到一些困难,可能也是别人将会遇到的困难,特在此列出 1.在微信发送 ...
- Android 跳转到高德、百度、腾讯地图进行导航
需求: 点击店铺位置,弹出popupwindow进行选择 如果该手机安装了所选的地图APP,就跳转到该地图APP中 如果该手机未安装所选的地图APP,就提示 MapUtil工具类 import and ...
- android 高德卫星地图数据,白马地图 Bmap for Android v7.3.81 强大高德百度地图应用|张小北...
Bmap for Android 是一款集成高德地图百度地图为一体的第三方地图应用APP,Bmap for Android 又叫白马地图,采用高德/百度地图数据引擎,可任意切换百度地图.高德地图数据源 ...
- android 跳转腾讯地图导航,Android 跳转到百度、高德、腾讯地图导航
项目中遇到的一个需求,跳转外部App进行步行导航.分别是百度.高德.腾讯. 东西不难但是每次都要去官方文档找(有时候会更新一些字段). 所以在此做下记录和分享. 腾讯地图 try { LatLng l ...
最新文章
- Mirror, Mirror,What do I see、一切都是投射
- 七日存留查询(MYSQL)
- C++标准库与STL简介
- c语言中 字符串常量的界定符,C字符串操作函数
- HDU Problem - 6396 Swordsman(优先队列,模拟)
- 你都知道么?Android中21种drawable标签大全
- CSS做个Switch开关
- 贪心算法——合并区间(Leetcode 56)
- java从入门到秃头,小白的秃头之路
- Delphi 7生成XML
- 四、CLR执行程序集中代码和IL代码简介
- 死磕Spring AOP系列2:剖析Bean处理器之BeanNameAutoProxyCreator
- 神经网络的理解和计算
- 趣味算法图解,文科生都看懂了
- JavaEE-面试-Solr面试回答思路
- JavaScript,凯撒位移密码,算法
- 天津理工大学嵌入式实验 Fritzing电路图连线,自定义芯片原理图方法
- 高等数学-微积分和线性代数
- 吐血整理C++书单,萌新到大牛,要看哪些书?
- 【hdu 6438】Buy and Resell