【百度地图API】当地址解析失败时,如何调用search方法查找地址
原文:【百度地图API】当地址解析失败时,如何调用search方法查找地址
有个朋友问我,当地址解析失败时,应该如何处理呢?比如,他想搜索“南宁市青秀区”。
-----------------------------------------------------------------------------
首先,我们需要弄明白,地址解析的原理:
使用Geocoder进行地址解析,比如“北京市海淀区上地10街”,当系统匹配到这个地址时,getPoint就会返回一个坐标点。这里需要用到回调函数。var myGeo = new BMap.Geocoder();// 将地址解析结果显示在地图上,并调整地图视野myGeo.getPoint("北京市海淀区上地10街", function(point){ if (point) { map.centerAndZoom(point, ); map.addOverlay(new BMap.Marker(point)); }}, "北京市");
当系统无法匹配“北京市海淀区上地10街”的时候,会返回“北京市海淀区”的几何中心点。如果还是无法匹配,会返回“北京市”的几何中心点。如果你只是想返回“北京市”的坐标,或者说想要模糊查询,建议不要使用地址解析。而是使用LocalSearch类的search方法。例子详见:http://www.cnblogs.com/milkmap/archive/2010/12/22/1914106.html
当地址解析失败时,你可以调用localsearch函数。这个方法被称之为模糊查询。
在以下的例子里,为了方便快捷,我取了第一个查询结果。
这样,当地址解析“南宁市青秀区”失败时,会自动search这个地址,并打点在地图上。

完整源代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>地址解析失败时搜索</title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script> </head> <body> <div id="divMap" style="width:400px;height:400px;border:solid 1px gray"></div> <script type="text/javascript"> 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"); } }); } }, "南宁市"); </script> </body></html>
【百度地图API】当地址解析失败时,如何调用search方法查找地址的更多相关文章
- 百度地图api逆地址解析 PHP
一.说明:逆地址查询就是根据经纬度信息获取地址位置信息 二.参数:$lat:纬度值 ,$lng:经度值 ,$ak = 自己的AK:(百度地图开放平台对应ak链接:http://lbsyun.baidu ...
- 【百度地图API】如何区分地址解析和智能搜索?
原文:[百度地图API]如何区分地址解析和智能搜索? 摘要: 很多用户一直无法区分地址解析geocoder和智能搜索localsearch的使用场景.该文章用一个详尽的示例,充分展示了这两个类,共5种 ...
- 百度地图api简单使用方法
百度地图API的使用方法 百度地图API 开始学习百度地图API最简单的方式是看一个简单的示例.以下代码创建了一个520x340大小的地图区域并以天安门作为地图的中心: 1. <html&g ...
- 百度地图API的使用方法
百度地图API 开始学习百度地图API最简单的方式是看一个简单的示例.以下代码创建了一个520x340大小的地图区域并以天安门作为地图的中心: 1. <html> 2. <head& ...
- 百度地图API开发指南
简介什么是百度地图API? 百度地图API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富.交互性强的地图应用.百度地图API包含了构建地图基本功能的各种接口,提供 ...
- 百度地图API使用介绍
百度地图API 开始学习百度地图API最简单的方式是看一个简单的示例.以下代码创建了一个520x340大小的地图区域并以天安门作为地图的中心: 1. <html> 2. <head& ...
- 百度地图api基本用法
首先 ,如果想调用百度地图api,你需要获取一个百度地图api的密钥. 申请密钥很简单,在百度地图api的首页就有相关链接,填写相关信息百度就会给你一个密钥了. 接下来,就是引入百度地图的api 关键 ...
- 百度地图API 根据地址查询经纬度
html页面.引用上API: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> ...
- 百度地图API简单应用——1.根据地址查询经纬度
这几天比较空闲,就接触了下百度地图的API(开发者中心链接地址:http://developer.baidu.com),发现调用还是挺方便的.只要简单几步注册下,就可以获得一个Key,就能直接调用(P ...
随机推荐
- NVIDIA+关联2015写学校招收评论(嵌入式方向,上海)
我没有写很长一段时间Blog中的一个,在过去的几个月中还没有看到太多的生长技术,来来回回一直在做的事情,要毕业找工作,但发现并没有冷静下来,准备过.这不是让人觉得暂时补习班是凡人啊. 本科不试试.那你 ...
- Linux鸟哥的私房菜(3)— 总体规划和磁盘分区 读书笔记
1.每个硬件设备Linux中的文件名称 在Linux系统中.每一个设备都被当成一个文件来对待.而且差点儿全部的硬件设备文件都在/dev文件夹下 常见设备与其对于文件名称 2.磁盘连接的方式与设备文件名 ...
- linux基于学习
1.还有一个文件名前".",它代表的文件""隐藏文件". 2.chgrp:改变文件所属用户组 chown:改变文件全部者 chmod:改变文件的权限 ...
- hive内置函数大全
====================================== 一.关系函数 1.等值比較:= 语法:A=B 操作类型:全部基本类型 2.不等值比較:<> 语 ...
- 思维导图之C++语言程序设计总结
花了大约一周的时间,将c++的课本过了一遍,米老师说第一遍不求甚解,仅仅管去看就能够了,我很成功地运行了老师这种方法,嘿嘿.那么c++是什么呢?百度上这样说,它是一种使用很广泛的计算机编程语言.C++ ...
- php中国的垃圾问题
header这条线加,这是解决中国乱码的问题. 版权声明:本文博主原创文章,博客,未经同意不得转载.
- Java线
线程是一个单一的程序流程.多线程是指一个程序,可以在同一时间执行多个任务.每个任务是由一个单独的线程以完成.那.够同一时候在一个程序中执行,而且每个线程完毕不同的任务.程序能够通过控制线程来控制程序的 ...
- Qt on Android: Qt 5.3.0 公布,针对 Android 改进的说明
5月20日本,Qt 官方博客宣布 Qt 5.3.0 公布! 这个版本号聚焦在性能.稳定性和可用性的提升上,与 5.1 / 5.2 相比有非常大提升. 5.3.0 的主要变化: 稳定能.可用性大大提升 ...
- 键盘enter事件时间页面绑定
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- struts2-dojo-plugin-2.3.1.2.jar!/struts-plugin.xml:29:119
Unable to load configuration. - bean - jar:file:/D:/code_workspace/SSHWorkSpace3/.metadata/.plugins/ ...