如题,输入如“北京市海淀区”之后地图的中心点发生会转到海淀区范围内。效果如百度地图,该怎样实现?

解决方案 »

  1.   

    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
        <title>地址解析</title>
        <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
    </head>
    <body>
    <div style="width:520px;height:340px;border:1px solid gray" id="container"></div>
    </body>
    </html>
    <script type="text/javascript">
        var map = new BMap.Map("container");
        map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
        // 创建地址解析器实例
        var myGeo = new BMap.Geocoder();
        // 将地址解析结果显示在地图上,并调整地图视野
        myGeo.getPoint("北京市海淀区", function(point){
            if (point) {
                map.centerAndZoom(point, 16);
                map.addOverlay(new BMap.Marker(point));
            }
        }, "北京市");
    </script>详细说明:http://www.scscms.com/article/2011-12/717347687.html
      

  2.   

    使用BMap.Geocoder()  解析到行政区,不会出现解析失败的情况吗? 当解析不到的时候,是否使用localSearch   使用 localSearch 怎样调整视野呢?  
      

  3.   

    当使用BMap.Geocoder()  的时候 是否会出现解析不到的情况?  如果出现是否是使用localSearch() ,使用localSearch的时候怎样实现视野的调整
      

  4.   

    onGetPoiResult()重写方法下的参数:MKPoiResult result
    MKPoiInfo poiInfo = result.getPoi(0);
    mMapController.setCenter(poiInfo.pt);  //MapController mMapController = ....
    这样一般情况下能实现,毕竟搜索到的第一个点多数情况下符合要求