如何调用search方法查找地址

如题所述

调用localsearch函数。这个方法被称之为模糊查询。
在以下的例子里,为了方便快捷,我取了第一个查询结果。
这样,当地址解析“南宁市青秀区”失败时,会自动search这个地址,并打点在地图上。
完整源代码:
复制代码
<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="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>
温馨提示:答案为网友推荐,仅供参考
相似回答