风云冷雨吧 关注:2贴子:242

回复:百度地图JavaScript API

取消只看楼主收藏回复

矩形范围搜索
矩形范围搜索将根据您提供的视野范围提供搜索结果。注意:当搜索范围过大时可能会出现无结果的情况。
下面示例展示在当前地图视野范围内搜索银行:
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 14);
var local = new BMap.LocalSearch(map, { renderOptions:{map: map}}); local.searchInBounds("银行", map.getBounds());
公交导航
BMap.TransitRoute类提供公交导航搜索服务。和本地搜索类似,在搜索之前需要指定搜索区域,注意公交导航的区域范围只能是市,而不能是省。如果搜索区域为BMap.Map对象,路线结果会自动添加到地图上。如果您提供了结果容器,相应的路线描述也会展示在页面上。
下面示例展示了如何使用公交导航服务:
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 14);
var transit = new BMap.TransitRoute(map, {renderOptions: {map: map} }); transit.search("王府井", "西单");
结果面板 您可以提供用于展示文字结果的容器元素,方案结果会自动在页面中展现:
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 14);
var transit = new BMap.TransitRoute(map, {renderOptions: {map: map, panel: "results"} });
transit.search("王府井", "西单");


IP属地:浙江33楼2017-04-06 23:12
回复
    数据接口
    您可通过数据接口获取详细的公交方案信息。公交导航搜索结果用BMap.TransitRouteResult来表示,其中包含了若干公交出行方案(BMap.TransitRoutePlan)。每条出行方案由步行线路和公交线路组成。 在起点到上车点之间、下车点到终点之间以及每个换乘站之间都会存在步行线路,如果上述的某两点位置重合,那么其间的步行路线长度为0。
    在下面示例中,通过数据接口将第一条方案的路线添加到地图上,并将所有方案的描述信息输出到页面上
    var map = new BMap.Map("container");
    map.centerAndZoom(new BMap.Point(116.404, 39.915), 12);
    var transit = new BMap.TransitRoute("北京市"); transit.setSearchCompleteCallback(function(results){
    if (transit.getStatus() == BMAP_STATUS_SUCCESS){
    var firstPlan = results.getPlan(0); // 绘制步行线路
    for (var i = 0; i < firstPlan.getNumRoutes(); i ++){
    var walk = firstPlan.getRoute(i);
    if (walk.getDistance(false) > 0){ // 步行线路有可能为0 map.addOverlay(new BMap.Polyline(walk.getPoints(), {lineColor: "green"})); } } // 绘制公交线路
    for (i = 0; i < firstPlan.getNumLines(); i ++){
    var line = firstPlan.getLine(i);
    map.addOverlay(new BMap.Polyline(line.getPoints())); } // 输出方案信息 var s = [];
    for (i = 0; i < results.getNumPlans(); i ++){
    s.push((i + 1) + ". " + results.getPlan(i).getDescription());
    }
    document.getElementById("log").innerHTML = s.join("<br>");
    }
    })
    transit.search("中关村", "国贸桥");


    IP属地:浙江34楼2017-04-06 23:19
    回复
      驾车导航
      BMap.DrivingRoute提供驾车导航服务。与公交导航不同的是,驾车导航的搜索范围可以设置为省。
      下面示例展示了如何使用驾车导航接口:
      var map = new BMap.Map("container");
      map.centerAndZoom(new BMap.Point(116.404, 39.915), 14);
      var driving = new BMap.DrivingRoute(map, { renderOptions: { map: map, autoViewport: true } });
      driving.search("中关村", "天安门");
      结果面板
      下面示例中,我们提供了结果面板参数,方案描述会自动展示到页面上。
      var map = new BMap.Map("container");
      map.centerAndZoom(new BMap.Point(116.404, 39.915), 14);
      var driving = new BMap.DrivingRoute(map, { renderOptions: { map : map, panel : "results", autoViewport: true } });
      driving.search("中关村", "天安门");
      数据接口
      驾车导航服务也提供了丰富的数据接口,通过onSearchComplete回调函数可以得到BMap.DrivingRouteResult对象,它包含了驾车导航结果数据信息。 结果会包含若干驾车方案(目前仅提供一条方案),每条方案中包含了若干驾车线路(如果导航方案只包含一个目的地,那么驾车线路的个数就为1,如果方案包含若干个目的地,则驾车线路的个数会大于1。目前API尚不支持多个目的地的驾车导航)。 每条驾车线路又会包含一系列的关键步骤(BMap.Step),关键步骤描述了具体驾车行驶方案,可通过BMap.Step.getDescription()方法获得。
      var map = new BMap.Map("container");
      map.centerAndZoom(new BMap.Point(116.404, 39.915), 14);
      var options = { onSearchComplete: function(results){ if (driving.getStatus() == BMAP_STATUS_SUCCESS){ // 获取第一条方案 var plan = results.getPlan(0); // 获取方案的驾车线路
      var route = plan.getRoute(0); // 获取每个关键步骤,并输出到页面
      var s = [];
      for (var i = 0; i < route.getNumSteps(); i ++){
      var step = route.getStep(i);
      s.push((i + 1) + ". " + step.getDescription());
      }
      document.getElementById("log").innerHTML = s.join("<br>"); } } };
      var driving = new BMap.DrivingRoute(map, options);
      driving.search("中关村", "天安门");


      IP属地:浙江35楼2017-04-06 23:26
      回复
        地理编码
        地理编码能够将地址信息转换为地理坐标点信息。
        根据地址描述获得坐标
        百度地图API提供Geocoder类进行地址解析,您可以通过Geocoder.getPoint()方法来将一段地址描述转换为一个坐标。在下面的示例中,我们将获得地址“北京市海淀区上地10街10号”的地理坐标位置,并在这个位置上添加一个标注。注意在调用Geocoder.getPoint()方法时您需要提供地址解析所在的城市(本例为“北京市”)。
        var map = new BMap.Map("l-map");
        map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 创建地址解析器实例
        var myGeo = new BMap.Geocoder(); // 将地址解析结果显示在地图上,并调整地图视野
        myGeo.getPoint("北京市海淀区上地10街10号", function(point){
        if (point) {
        map.centerAndZoom(point, 16);
        map.addOverlay(new BMap.Marker(point));
        }
        }, "北京市");
        反向地理编码
        反向地理编码的过程正好相反,它根据一个坐标点得到一个地址的描述。您可以通过Geocoder.getLocation()方法获得地址描述。当解析工作完成后,您提供的回调函数将会被触发。如果解析成功,则回调函数的参数为GeocoderResult对象,否则为null。
        var map = new BMap.Map("l-map");
        map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 创建地理编码实例
        var myGeo = new BMap.Geocoder(); // 根据坐标得到地址描述 myGeo.getLocation(new BMap.Point(116.364, 39.993), function(result){ if (result){
        alert(result.address);
        }
        });


        IP属地:浙江36楼2017-04-06 23:32
        回复
          用户数据图层JavaScript API
          用户数据图层
          百度地图API可以将用户上传到LBS云里的位置数据实时渲染成图层,然后通过CustomLayer对象叠加到地图上。目前LBS云支持用户存储poi数据,存储的字段除经纬度坐标外还包括名称、地址等属性信息。CustomLayer类提供读取LBS云数据接口,并自动渲染用户数据生成数据图层,同时提供单击叠加图层返回poi数据的功能。大致流程如下:
          用户数据上传→自动渲染用户数据→叠加用户数据图层
          用户数据上传
          用户数据的上传有两种方式,分别是HTTP接口上传方式、可视化标注方式。
          1. HTTP接口上传方式:HTTP接口方式首先需要创建数据存储空间(databox),然后再上传用户的poi数据。创建存储空间及poi发送的是POST请求,可以借助chrome浏览器下的Postman插件可视化发送请求。
          2. 可视化标注方式:用户进入云存储编辑页面后设置标注模式进行poi数据的录入。该方式的特点是简单、直观,但是数据量大时效率低下。
          开发者可以通过接口形式(LBS云存储服务)或使用数据管理平台编辑管理您的个人数据,用于前端地图绘制展示自己的数据。


          IP属地:浙江37楼2017-04-09 10:06
          回复
            用户数据图层展示
            叠加用户数据图层
            CustomLayer构造函数可以通过接收数据存储空间id(geotable id)参数生成用户数据图层,存储空间id可以在创建数据存储时获得。
            代码如下:
            //根据daboxId创建自定义图层,用户可用自己创建的geotableid替换30960
            var customLayer=new BMap.CustomLayer({
            geotableId: 30960,
            q: '', //检索关键字
            tags: '', //空格分隔的多字符串
            filter: '' //过滤条件,参考http://developer.baidu.com/map/lbs-geosearch.htm#.search.nearby
            });
            将用户自定义图层添加到地图上的方法跟添加Tilelayer对象方式相同,即:
            map.addTileLayer(customLayer);//添加自定义图层
            用户数据图层事件
            JSAPIv1.5提供单击用户数据图层事件,并支持返回点击poi点的信息。代码如下:
            customLayer.addEventListener('onhotspotclick',callback);//单击图层事件 function callback(e)//单击热点图层 {
            var customPoi = e.customPoi, //获取poi对象
            str = [];
            str.push("address = " + customPoi.address);
            str.push("phoneNumber = " + customPoi.phoneNumber);
            var content = '<p style="width:280px;margin:0;line-height:20px;">地址:' + customPoi.address + '<br>电话:' + customPoi.phoneNumber + '</p>';
            var searchInfoWindow = new BMapLib.SearchInfoWindow(map, content, { //带检索的信息窗口
            title: customPoi.title, //标题
            width: 290, //宽度
            height: 40, //高度
            panel : "panel", //检索结果面板
            enableAutoPan : true, //自动平移
            enableSendToPhone: true, //是否显示发送到手机按钮
            searchTypes :[
            BMAPLIB_TAB_SEARCH, //周边检索
            BMAPLIB_TAB_TO_HERE, //到这里去
            BMAPLIB_TAB_FROM_HERE //从这里出发 ] });
            var point = new BMap.Point(customPoi.point.lng, customPoi.point.lat); searchInfoWindow.open(point);}
            }
            用户数据检索
            除了展示用户自有数据外,利用JSAPI检索接口也可以对自有数据进行检索。支持的检索类型包括:城市内检索、矩形区域检索和圆形区域检索。以下以圆形检索为例,说明如何检索圆形区域的自有数据。 首先,用鼠标绘制圆形区域:
            var drawingManager = new BMapLib.DrawingManager(map, {
            //使用鼠标工具需要引入鼠标工具开源库DrawingManager_min.js及样式文件DrawingManager_min.css
            isOpen: false, //是否开启绘制模式
            enableDrawingTool: false, //是否显示工具栏
            drawingToolOptions: {
            anchor: BMAP_ANCHOR_TOP_RIGHT, //位置
            offset: new BMap.Size(5, 5), //偏离值
            scale: 0.8 //工具栏缩放比例
            }
            });
            drawingManager.setDrawingMode(BMAP_DRAWING_CIRCLE);
            drawingManager.open();
            在鼠标画圆结束事件回调函数内进行周边检索:
            drawingManager.addEventListener('circlecomplete', function(e) {
            circle = e;
            var radius= parseInt(e.getRadius()); //检索半径必须是整型
            var center= e.getCenter();
            drawingManager.close();
            if (customLayer) {
            map.removeTileLayer(customLayer);
            }
            localSearch.searchNearby(' ', center,radius,{customData:{databoxId: 4032}});
            //用新创建的databoxid替换该值
            });


            IP属地:浙江38楼2017-04-09 11:25
            回复
              全景图展现JavaScript API
              百度全景地图提供沿着全景覆盖城市指定道路、指定位置点360度的全景视图,相比二维地图全景图更加真实、直观。
              全景地图API目前覆盖的城市与百度地图(map.baidu.com)完全相同,且保持跟百度地图完全一致的更新频次。
              百度LBS开放平台通过JavaScript API对外提供全景功能,且默认PC端采用flash技术渲染,手机浏览器端采用JavaScript渲染,保证服务在各浏览器下的可用性。另外,由于flash本次渲染存在跨域等问题,因此PC端使用全景功能时需要将全景示例部署到服务器上查看,直接在本地双击示例无法显示全景图。
              全景控件
              通过全景控件可以从普通地图进入全景地图,添加全景控件的方式同添加工具条等控件类似
              代码如下:
              var stCtrl = new BMap.PanoramaControl();
              stCtrl.setOffset(new BMap.Size(20, 20));
              map.addControl(stCtrl);
              点击全景控件会进入全景图,点击全景图右上角的关闭按钮会退回到普通地图。
              全景地图用法
              全景地图可以与普通地图一样作为div添加到网页里。以下给出展示全景图的核心代码并给出代码说明。
              <div id="panorama" style="width:100%;height:100%"></div> //1
              <script type="text/javascript">
              window.onload = function(){
              var panorama = new BMap.Panorama('panorama'); //2 panorama.setPosition(new BMap.Point(120.320032, 31.589666)); //3
              // panorama.setId('0100010000130501122416015Z1'); panorama.setPov({heading: -40, pitch: 6}); //4
              }
              </script>
              说明:
              1) 创建一个div,该div作为容器“包含”全景地图;
              2) 创建全景对象(Panorama),构造函数参数与1)中创建的div id相同;
              3) 通过经纬度坐标设置显示特定位置的全景地图;除了指定经纬度外,还可以通过指定全景的id设置当前显示的全景视图,如代码注释部分;
              4) heading和pitch两个参数用于设置全景的视角,其中heading指摄像头水平方向(“摇头”)的角度,正北方向为0,正东为90,正南为180,正西为270;pitch指摄像头的垂直方向(“点头”)。


              IP属地:浙江39楼2017-04-09 16:04
              回复
                设置全景地图控件
                通过设置Panorama类的PanoramaOption参数和setOptions方法可以指定是否展示全景地图里的导航控件、道路指引控件及相册控件等。
                设置隐藏导航控件的核心代码如下:
                //通过PanoramaOption指定
                var panorama = new BMap.Panorama('panorama', {navigationControl: false}); //默认为显示导航控件,默认值为true
                //通过setOptions方法指定
                Panorama.setOptions({navigationControl:false});
                设置道路指引控件的核心代码如下:
                //通过PanoramaOption指定
                var panorama = new BMap.Panorama('panorama', {linksControl:false});
                //默认为显示道路指引控件,默认值为true
                //通过setOptions方法指定
                Panorama.setOptions({linksControl:false});
                如上方法还可以设置全景相册控件是否展示及展示样式,核心代码如下:
                panorama.setOptions({
                albumsControl: true,
                albumsControlOptions:{anchor:BMAP_ANCHOR_TOP_LEFT, //设置相册显示位置
                offset:new BMap.Size(10,10),//设置相册距离左上角偏移量 maxWidth:100%,//设置相册控件的最大显示宽度
                imageHeight:80//设置相册控件的高度 }
                });


                IP属地:浙江40楼2017-04-09 16:17
                回复
                  设置全景内显示的poi类型
                  Panorama的setPanoramaPOIType方法可以指定显示的poi类型,目前支持的类型包括:酒店、餐饮、电影院、公交站点、室内景等。设置类型为BMAP_PANORAMA_POI_NONE时,表示隐藏掉所有的poi。
                  指定全景视野内仅显示餐馆类型核心代码:
                  panorama.setPanoramaPOIType(BMAP_PANORAMA_POI_CATERING); //餐饮 panorama.setPov({pitch: 6, heading: 138});
                  室内景地图用法
                  百度地图API除了支持沿道路的全景外,还支持景区、酒店内的室内景。 室内景与普通全景的差别在于:
                  1) 普通全景支持根据经纬度和id两种方式设置全景图,而室内景只能通过id设置;
                  2) 普通全景PanoramaOption类不支持室内景切换控件,室内景则支持。
                  给室内景设置内景切换控件的核心代码:
                  var panorama = new BMap.Panorama('panorama', { 'disableIndoorSceneSwitchControl': true //默认为显示室内景场景点切换控件,默认值为false
                  });
                  panorama.setOptions({
                  'disableIndoorSceneSwitchControl': true
                  });
                  获取全景地图数据
                  除了展示特定位置、特定视角的全景图外,JavaScript API也支持获取该类信息,以下给出获取全景Id和经纬度坐标的例子。
                  var panoramaService = new BMap.PanoramaService();-------1) panoramaService.getPanoramaByLocation(new BMap.Point(120.31, 31.58), function(data){ -------2)
                  var panoramaInfo="";
                  if (data == null) {
                  console.log('no data');
                  return;
                  }
                  panoramaInfo +='全景id为:'+data.id+'\n';
                  panoramaInfo +='坐标为:'+data.position.lng+':'+data.position.lat+'\n'; document.all('svInfoText').innerHTML= panoramaInfo;
                  });
                  }
                  1) PanoramaService类用于创建检索全景数据信息类的实例,提供了getPanoramaById(根据pid获取全景数据) getPanoramaByPOIId(根据POIId获取全景数据) getPanoramaByLocation(根据坐标返回距离此处最近的全景数据)三个方法用于获取全景数据。
                  2) getPanoramaByLocation方法可根据坐标返回距离此处最近的全景数据,当获取不到数据时,回调函数参数为null。
                  全景地图事件
                  JavaScript API提供position_changed(位置改变事件)links_changed(相邻道路全景变化事件)、pov_changed(视角改变事件)、zoom_changed(zoom级别改变事件)等事件,用来监测全景状态的变化。
                  用法如下:
                  var panorama = new BMap.Panorama('panorama');
                  panorama.setPosition(new BMap.Point(120.320032, 31.589666)); panorama.addEventListener('position_changed', function(e){ //注册全景位置改变事件
                  var pos = this.getPosition();
                  console.log(e.type);
                  });


                  IP属地:浙江41楼2017-04-09 17:04
                  回复
                    在全景地图里添加标注
                    PanoramaLabel是全景标注类,可设置全景标注的位置(position)和三维高度(altitude)属性,其中三维高度具有“近大远小”的特点,即全景标注点离全景中心点越近,同一个高度值会显示得更高。
                    通过Panorama类的addOverlay方法可将PanoramaLabel标注添加到全景图中。用法如下:
                    var panorama = new BMap.Panorama('panorama');
                    panorama.setPosition(new BMap.Point(116.403925,39.913903));//坐标点在天安门
                    var labelPosition = new BMap.Point(116.403925,39.913903);
                    var labelOptions = { position: labelPosition, altitude:5};//设置标注点的经纬度位置和高度
                    var label = new BMap.PanoramaLabel('自定义标注-天安门广场', labelOptions);//创建全景标注对象
                    panorama.addOverlay(label);//在全景地图里添加该标注panorama.setPov(label.getPov()); //修改点的视角,朝向该label
                    除了添加全景标注外,还可以触发全景标注的单击(click)、鼠标移入(mouseover)、鼠标移出(mouseout)、删除(remove)事件。以下是单击事件的使用方法:
                    label.addEventListener('click', function() { //给标注点注册点击事件 panorama.setPov({
                    //修改点的视角
                    pitch: 15,
                    heading: 180
                    });
                    });


                    IP属地:浙江42楼2017-04-09 17:13
                    回复
                      定制个性地图JavaScript API
                      概述
                      定制个性地图是支持用户使用JavaScript API设置地图底图的样式风格(展现颜色为普通、深色、浅色)以及控制组成地图底图的元素类的显示和隐藏,创建满足用户特定需求的与众不同的地图,如通过隐藏某类地图元素,突出展示自己的数据。个性化定制功能同时适用于pc端和手机端全部浏览器。
                      目前有两种方式可以定制个性地图:
                      1. 通过百度地图提供的样式模板,选择地图,然后通过JavaScriptAPI的setMapStyle方法调用生效;
                      2. 通过个性地图编辑工具,自行编辑地图展示样式,生成地图样式json,然后通过JavaScriptAPI的方法调用生效。
                      实现定制个性地图模板选择方式
                      选择模板方式简单好用,对于初学者可选用这种方式,使用步骤如下:
                      第一步:选择模板:
                      目前开放平台为用户提供多种不同风格的模板,点击下方模板示意图即可进入模板页面查看模板,开发者可以从中选择感兴趣的模板进行开发。
                      第二步:设置地图样式:
                      将style改为模板下方的英文名称,如下图所示红框所示:
                      var mapStyle={ style : "*模板英文名称*" }
                      map.setMapStyle(mapStyle);
                      其中,mapStyle为MapStyle类,该类使用对象字面量形式表示,不可实例化。style用于设置底图颜色样式。
                      下面为风格为mapbox的设置方法:
                      设置代码如下:
                      var mapStyle={ style : "mapbox" }
                      map.setMapStyle(mapStyle);
                      个性化编辑方式
                      该方式是指开发者可以借助个性化编辑器,通过改变地图元素的颜色、亮度、饱和度、文本标注填充色、文本标注等生成样式配置json,然后通过调用JavaScriptAPI方法使配置生效。
                      个性化编辑工具的使用步骤如下:
                      第一步:添加样式规则:
                      样式规则是对元素、属性及样式的统一描述,地图样式由多条样式规则组合而成,编辑首个元素时默认有一条规则,用户可以基于修改地图样式,后续编辑元素时,需要重新创建一条规则。
                      第二步:选择元素
                      创建完样式规则后,需要选择要修改的地图元素。
                      其中,地图背景主要包括地图里的面状元素,如陆地、水系、绿地、人造区域,高级别下的建筑物等;
                      道路区分为高速及国道、城市主路、一般道路、地铁及火车线路;
                      兴趣点指地图里的点状元素,如银行,学校,餐馆、酒店等,由文本标注和图标组成。
                      行政区划包括国界、省界及省、市、县、区等行政单位的标注。
                      第三步:选择属性
                      诸如道路这类元素由文本和线状元素组成,属性用来指定是修改文本还是线的边框、填充色.
                      第四步:选择样式
                      选定属性后,下一步是选择要修改的样式,如要设置道路边框的颜色为红色
                      第五步:设置地图样式
                      要将编辑后的地图样式应用到自己的网站上,需要先从查看json处获取样式json


                      IP属地:浙江43楼2017-04-09 17:54
                      回复
                        百度地图API常用类
                        一、核心类
                        Map此类是地图API的核心类,用来实例化一个地图。
                        构造函数
                        Map(container: String | HTMLElement, opts:MapOptions)
                        描述
                        在指定的容器内创建地图实例,之后需要调用Map.centerAndZoom()方法对地图进行初始化。未进行初始化的地图将不能进行任何操作
                        Map函数的方法
                        enableDragging() 启用地图拖拽,默认启用 返回none
                        disableDragging() 禁用地图拖拽 返回none
                        enableScrollWheelZoom() 启用滚轮放大缩小,默认禁用 返回none
                        disableScrollWheelZoom() 禁用滚轮放大缩小 返回none
                        enableDoubleClickZoom() 启用双击放大,默认启用 返回none
                        disableDoubleClickZoom() 禁用双击放大 返回none
                        enableKeyboard() 启用键盘操作,默认禁用。键盘的上、下、左、右键可连续移动地图。同时按下其中两个键可使地图进行对角移动。PgUp、PgDn、Home和End键会使地图平移其1/2的大小。+、-键会使地图放大或缩小一级 返回none
                        disableKeyboard() 禁用键盘操作 返回none
                        enableInertialDragging() 启用地图惯性拖拽,默认禁用 返回none
                        disableInertialDragging() 禁用地图惯性拖拽 返回none
                        enableContinuousZoom() 启用连续缩放效果,默认禁用 返回none
                        disableContinuousZoom() 禁用连续缩放效果 返回none
                        enablePinchToZoom() 启用双指操作缩放,默认启用 返回none
                        disablePinchToZoom() 禁用双指操作缩放 返回none
                        enableAutoResize() 启用自动适应容器尺寸变化,默认启用 返回none
                        disableAutoResize() 禁用自动适应容器尺寸变化 返回none
                        setDefaultCursor(cursor: String) 设置地图默认的鼠标指针样式。参数cursor应符合CSS的cursor属性规范 返回none
                        getDefaultCursor() 返回地图默认的鼠标指针样式 返回String
                        setDraggingCursor(cursor: String) 设置拖拽地图时的鼠标指针样式。参数cursor应符合CSS的cursor属性规范 返回none
                        getDraggingCursor() 返回拖拽地图时的鼠标指针样式 返回String
                        setMinZoom(zoom: Number) 设置地图允许的最小级别。取值不得小于地图类型所允许的最小级别 返回none
                        setMaxZoom(zoom: Number) 设置地图允许的最大级别。取值不得大于地图类型所允许的最大级别 返回none
                        setMapStyle() 设置地图样式,样式包括地图底图颜色和地图要素是否展示两部分 返回none
                        setPanorama(pano:Panorama) 将全景实例与Map类进行绑定 返回none
                        getBounds() 返回地图可视区域,以地理坐标表示 返回 Bounds
                        getCenter() 返回地图当前中心点 返回Point
                        getDistance(start: Point, end: Point) 返回两点之间的距离,单位是米 返回Number
                        getMapType() 返回地图类型 返回MapType
                        getSize() 返回地图视图的大小,以像素表示 返回Size
                        getViewport(view: Array<Point>, viewportOptions:ViewportOptions) 根据提供的地理区域或坐标获得最佳的地图视野,返回的对象中包含center和zoom属性,分别表示地图的中心点和级别。此方法仅返回视野信息,不会将新的中心点和级别做用到当前地图上 返回Viewport
                        getZoom() 返回地图当前缩放级别 返回Number
                        getPanorama() 获取与Map类绑定的全景实例 返回Panorama
                        centerAndZoom(center:Point, zoom: Number) 设初始化地图。 如果center类型为Point时,zoom必须赋值,范围3-19级,若调用高清底图(针对移动端开发)时,zoom可赋值范围为3-18级。如果center类型为字符串时,比如“北京”,zoom可以忽略,地图将自动根据center适配最佳zoom级别 返回none
                        panTo(center: Point, opts:PanOptions) 将地图的中心点更改为给定的点。如果该点在当前的地图视图中已经可见,则会以平滑动画的方式移动到中心点位置。可以通过配置强制移动过程不使用动画效果 返回none
                        panBy(x: Number, y: Number, opts: PanOptions) 将地图在水平位置上移动x像素,垂直位置上移动y像素。如果指定的像素大于可视区域范围或者在配置中指定没有动画效果,则不执行滑动效果 返回none
                        reset() 重新设置地图,恢复地图初始化时的中心点和级别 返回none
                        setCenter(center: Point| String) 设置地图中心点。center除了可以为坐标点以外,还支持城市名 返回none
                        setCurrentCity(city: String) 设置地图城市,注意当地图初始化时的类型设置为BMAP_PERSPECTIVE_MAP时,需要在调用centerAndZoom之前调用此方法设置地图所在城市。例如: var map = new BMap.Map(“container”, {mapType: BMAP_PERSPECTIVE_MAP}); map.setCurrentCity(“北京市”); map.centerAndZoom(new BMap.Point(116.404, 39.915), 18); 注意:初始化的坐标应与您设置的城市对应,否则地图将无法正常显示。如果地图初始化为BMAP_NORMAL_MAP类型,则在调用setMapType切换地图类型时也要调用此方法 返回none
                        setMapType(mapType: MapTypes) 设置地图类型。注意,当设置地图类型为BMAP_PERSPECTIVE_MAP时,需要调用map.setCurrentCity方法设置城市
                        返回none
                        setViewport(view: Array<Point> | Viewport, viewportOptions:ViewportOptions)
                        根据提供的地理区域或坐标设置地图视野,调整后的视野会保证包含提供的地理区域或坐标 返回none
                        setZoom(zoom: Number) 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动 返回none
                        highResolutionEnabled() 是否使用高分辨率底图。仅当mapOptions.enableHighResolution属性为true且设备支持高分辨率时返回true
                        返回Boolean
                        zoomIn() 放大一级视图 返回none
                        zoomOut() 缩小一级视图 返回 none
                        addHotspot(hotspot:Hotspot) 为地图添加热区 返回none
                        removeHotspot(hotspot:Hotspot) 移除某个地图热区 返回none
                        clearHotspots() 清空地图所有热区 返回none
                        addControl(control:Control) 将控件添加到地图,一个控件实例只能向地图中添加一次 返回none
                        removeControl(control:Control) 从地图中移除控件。如果控件从未被添加到地图中,则该移除不起任何作用 返回none
                        getContainer() 返回地图的容器元素。当创建用户自定义控件时,需要自行实现Control.initialize()方法,并将控件的容器元素添加到地图上,通过此方法可获得地图容器 返回HTMLElement
                        addContextMenu(menu:ContextMenu) 添加右键菜单 返回none
                        removeContextMenu(menu:ContextMenu) 移除右键菜单 返回none
                        addOverlay(overlay:Overlay) 将覆盖物添加到地图中,一个覆盖物实例只能向地图中添加一次 返回none
                        removeOverlay(overlay:Overlay) 从地图中移除覆盖物。如果覆盖物从未被添加到地图中,则该移除不起任何作用 返回none
                        clearOverlays() 清除地图上所有覆盖物 返回none
                        openInfoWindow(infoWnd:InfoWindow, point: Point) 在地图上打开信息窗口
                        返回none
                        closeInfoWindow() 关闭在地图上打开的信息窗口。在标注上打开的信息窗口也可通过此方法进行关闭 返回none
                        pointToOverlayPixel(point:Point) 根据地理坐标获取对应的覆盖物容器的坐标,此方法用于自定义覆盖物 返回Pixel
                        overlayPixelToPoint(pixel:Pixel) 根据覆盖物容器的坐标获取对应的地理坐标
                        返回Point
                        getInfoWindow() 返回地图上处于打开状态的信息窗的实例。当地图没有打开的信息窗口时,此方法返回null 返回InfoWindow| Null
                        getOverlays() 返回地图上的所有覆盖物 返回Array<Overlay>
                        getPanes() 返回地图覆盖物容器列表 返回MapPanes
                        addTileLayer(tileLayer:TileLayer) 添加一个自定义地图图层 返回none
                        removeTileLayer(tileLayer:TileLayer) 移除一个自定义地图图层 返回none
                        getTileLayer(mapType: String) 通过地图类型得到一个地图图层对象 返回TileLayer
                        pixelToPoint(pixel: Pixel) 像素坐标转换为经纬度坐标 返回Point
                        pointToPixel(point: Point) 经纬度坐标转换为像素坐标 返回Pixel


                        IP属地:浙江44楼2017-04-16 12:00
                        回复
                          click事件:参数 {type, target, point, pixel, overlay},描述: 左键单击地图时触发此事件。 当双击时,产生的事件序列为: click click dblclick
                          dblclick事件:参数 {type, target, pixel, point},描述: 鼠标双击地图时会触发此事件
                          rightclick事件:参数 {type, target, point, pixel, overlay},描述: 右键单击地图时触发此事件。 当双击时,产生的事件序列为: rightclick rightclick rightdblclick
                          rightdblclick事件:参数 {type, target, point, pixel, overlay},描述: 右键双击地图时触发此事件
                          maptypechange事件:参数 {type, target},描述: 地图类型发生变化时触发此事件
                          mousemove事件:参数 {type, target, point, pixel, overlay},描述: 鼠标在地图区域移动过程中触发此事件
                          mouseover 事件:参数{type, target},描述: 鼠标移入地图区域时触发此事件
                          mouseout事件:参数 {type, target},描述: 鼠标移出地图区域时触发此事件
                          movestart事件:参数 {type, target},描述: 地图移动开始时触发此事件
                          moving事件:参数 {type, target},描述: 地图移动过程中触发此事件
                          moveend事件:参数 {type, target},描述: 地图移动结束时触发此事件
                          zoomstart事件:参数 {type, target},描述: 地图更改缩放级别开始时触发触发此事件
                          zoomend事件:参数 {type, target},描述: 地图更改缩放级别结束时触发触发此事件
                          addoverlay事件:参数 {type, target},描述: 当使用Map.addOverlay()方法向地图中添加单个覆盖物时会触发此事件
                          addcontrol事件:参数 {type, target},描述: 当使用Map.addControl()方法向地图中添加单个控件时会触发此事件
                          removecontrol事件:参数 {type, target},描述: 当使用Map.removeControl()方法移除单个控件时会触发此事件
                          removeoverlay事件:参数 {type, target},描述: 当使用Map.removeOverlay()方法移除单个覆盖物时会触发此事件
                          clearoverlays事件:参数 {type, target},描述: 当使用Map.clearOverlays()方法一次性移除全部覆盖物时会触发此事件
                          dragstart事件:参数 {type, target, pixel, point},描述: 开始拖拽地图时触发
                          dragging事件:参数 {type, target, pixel, point},描述: 拖拽地图过程中触发
                          dragend 事件:参数{type, target, pixel, point},描述: 停止拖拽地图时触发
                          addtilelayer事件:参数 {type, target},描述: 添加一个自定义地图图层时触发此事件
                          removetilelayer事件:参数 {type, target},描述: 移除一个自定义地图图层时触发此事件
                          load事件:参数 {type, target, pixel, point, zoom},描述: 调用Map.centerAndZoom()方法时会触发此事件。这表示位置、缩放层级已经确定,但可能还在载入地图图块
                          resize事件:参数 {type, target, size} ,描述:地图可视区域大小发生变化时会触发此事件
                          hotspotclick事件:参数 {type, target, spots},描述: 点击热区时触发此事件
                          hotspotover事件:参数 {type, target, spots},描述: 鼠标移至热区时触发此事件
                          hotspotout事件:参数 {type, target, spots},描述: 鼠标移出热区时触发此事件
                          tilesloaded事件:参数 {type, target},描述: 当地图所有图块完成加载时触发此事件
                          touchstart事件:参数 {type, target, point,pixel},描述: 触摸开始时触发此事件,仅适用移动设备
                          touchmove事件:参数 {type, target, point,pixel},描述: 触摸移动时触发此事件,仅适用移动设备
                          touchend事件:参数 {type, target, point,pixel},描述: 触摸结束时触发此事件,仅适用移动设备
                          longpress事件:参数 {type, target, point,pixel},描述: 长按事件,仅适用移动设备


                          IP属地:浙江45楼2017-04-16 13:42
                          回复
                            MapOptions
                            此类表示Map构造函数的可选参数。它没有构造函数,但可通过对象字面量形式表示。
                            属性 类型 描述
                            minZoom Number 地图允许展示的最小级别
                            maxZoom Number 地图允许展示的最大级别
                            mapType MapType 地图类型,默认为BMAP_NORMAL_MAP
                            enableHighResolution Boolean 是否启用使用高分辨率地图。在iPhone4及其后续设备上,可以通过开启此选项获取更高分辨率的底图,v1.2,v1.3版本默认不开启,v1.4默认为开启状态
                            enableAutoResize Boolean 是否自动适应地图容器变化,默认启用
                            enableMapClick Boolean 是否开启底图可点功能,默认启用
                            PanOptions
                            此类是panBy和panTo方法的可选参数,没有构造函数,通过对象字面量形式表示。
                            属性 类型 描述
                            noAnimation Boolean 是否在平移过程中禁止动画
                            Viewport
                            此类代表视野,不可实例化,通过对象字面量形式表示。
                            属性 类型 描述
                            center Point 视野中心点
                            zoom Number 视野级别
                            ViewportOptions
                            此类作为map.getViewport与map.setViewport方法的可选参数,不可实例化。
                            属性 类型 描述
                            enableAnimation Boolean 是否启用动画效果移动地图,默认为true。当调整后的级别与当前地图级别一致时,将使用动画效果移动地图
                            margins Array<Number> 视野调整的预留边距,例如: margins: [30, 20, 0, 20] 表示坐标点会限制在上述区域内
                            zoomFactor Number 地图级别的偏移量,您可以在方法得出的结果上增加一个偏移值。例如map.setViewport计算出地图的级别为10,如果zoomFactor为-1,则最终的地图级别为9
                            delay Number 改变地图视野的延迟执行时间,单位毫秒,默认为200ms。此延时仅针对动画效果有效
                            APIVersion
                            此常量表示API版本号,通过字符串进行描述。
                            常量 描述
                            BMAP_API_VERSION 返回当前API版本。例如,1.2版本返回字符串“1.2”
                            MapStyle
                            该类用于设置地图样式,使用对象字面量形式表示,不可实例化。
                            属性 类型 描述
                            features Array 设置地图上展示的元素种类,支持point(兴趣点)、road(道路)、water(河流)、land(陆地)、building(建筑物)
                            style string 设置地图底图样式,目前支持normal(默认样式),dark(深色样式),light(浅色样式)三种


                            IP属地:浙江46楼2017-04-16 13:58
                            回复
                              二、基础类
                              此类表示一个地理坐标点。
                              构造函数 描述
                              Point(lng: Number, lat: Number) 以指定的经度和纬度创建一个地理点坐标
                              属性 类型 描述
                              lng Number 地理经度
                              lat Number 地理纬度
                              方法 返回值 描述
                              equals(other: Point) Boolean 判断坐标点是否相等,当且仅当两点的经度和纬度均相等时返回true
                              Pixel
                              此类表示地图上的一点,单位为像素。
                              构造函数 描述
                              Pixel(x: Number, y: Number) 创建像素点对象实例。像素坐标的坐标原点为地图区域的左上角
                              属性 类型 描述
                              x Number x坐标
                              y Number y坐标
                              方法 返回值 描述
                              equals(other: Pixel) Boolean 判断坐标点是否相等,当且仅当两点的x坐标和y坐标均相等时返回true
                              Bounds
                              此类表示地理坐标的矩形区域。
                              构造函数 描述
                              Bounds(sw: Point, ne:Point) 创建一个包含所有给定点坐标的矩形区域。其中sw表示矩形区域的西南角,参数ne表示矩形区域的东北角
                              方法 返回值 描述
                              equals(other: Bounds) Boolean 当且仅当此矩形中的两点参数都等于其他矩形的两点参数时,返回true
                              containsPoint(point: Point) Boolean 如果点的地理坐标位于此矩形内,则返回true
                              containsBounds(bounds:Bounds) Boolean 传入的矩形区域完全包含于此矩形区域中,则返回true
                              intersects(other: Bounds) Bounds 计算与另一矩形的交集区域
                              extend(point: Point) none 放大此矩形,使其包含给定的点
                              getCenter() Point 返回矩形的中心点
                              isEmpty() Boolean 如果矩形为空,则返回true
                              getSouthWest() Point 返回矩形区域的西南角
                              getNorthEast() Point 返回矩形区域的东北角
                              toSpan() Point 返回矩形区域的跨度
                              Size
                              此类以像素表示一个矩形区域的大小。
                              构造函数 描述
                              Size(width: Number, height: Number) 以指定的宽度和高度创建一个矩形区域大小对象
                              属性 类型 描述
                              width Number 水平方向的数值
                              height Number 竖直方向的数值
                              方法 返回值 描述
                              equals(other: Size) Boolean 当且仅当此矩形中的宽度和高度都等于其他矩形的宽度和高度时,返回true


                              IP属地:浙江47楼2017-04-16 17:46
                              回复