zoukankan      html  css  js  c++  java
  • 【百度地图】浅析如何使用百度地图

    目录结构:

    contents structure [+]

    概述

    读者在使用百度地图API之前,需要申请一个密钥,读者可以点击这里阅读百度地图JavaScript API的详细教程

    百度地图JavaScript API语法

    web开发的语法就是javaScript。

    百度地图javaScript 类参考

    点击我阅读百度地图JavaScript API 类参考

    一个简单的地图Demo

    <!DOCTYPE html>
    <html>
      <head>
        <title>demo</title>
        
            <meta name="content-type" content="text/html; charset=UTF-8">
            <!-- In order to better support the mobile terminal -->
            <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    
        <!-- reference baidu map api js -->
        <script src="http://api.map.baidu.com/api?v=2.0&ak=UfuZjklxjf6BmZvIIdW9c5hjDGvtO9bw"></script>
        
      </head>
      <body>
      <!-- must set width and height -->
      <div id="container" style="70%;height:400px"></div>
      <script>
        //create map
        var map=new BMap.Map("container");
        
        //initialize map
        var point1=new BMap.Point(104.074091,30.665783);
        map.centerAndZoom(point1,12);
        
        //add marker on map
        var point2=new BMap.Point(104.158603,30.642172);
        var marker=new BMap.Marker(point2);
        map.addOverlay(marker);
        
        //addPanoramaConverageLayer on map
        var pclyer=new BMap.PanoramaCoverageLayer();
        map.addTileLayer(pclyer);
        
        //add panoramaControl on map
        var pnrm=new BMap.PanoramaControl();
        map.addControl(pnrm);
        
        //add overviewControl on map
        var overviewControl = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:true});
        map.addControl(overviewControl);    
      </script>
      </body>
    </html>

    总结

    1. 自己的密钥可以在API控制台查看。
    2. BMap是作为整JavaScript API的命名空间,所有的JavaScript API类都必需在前面加上“BMap.”,要引用javaScript API之外的类就需要用别的命名空间。
    3. 在头部添加
      <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

      是为了能够更好地支持移动端。

    4. JavaScript API中的类大部分都有监听事件,因此可以通过addEventListener()来监听:
      map.addEventListener("click",function(e){
        console.log(e.point.lng+","+e.point.lat);
      });
    5. addEventListener()中的函数参数可以有以下几种属性:工具类就是对API的补充和扩展,工具类自1.2版本搬移到API之外实现,详见MapLibrary
      1. e.point.lng
      2. e.point.lat
      3. e.pixel.x
      4. e.pixel.y
      5. e.bounds
      6. e.size
      7. 也适用于JavaScript里的事件属性
    6. 用户数据图层多用于LBS云开发,详见LBS云
    7. 如果一个构造函数或是函数的参数用方括号“[]”括起来的,就表示该参数为可选参数。
    8. 如果一个构造韩式或是函数的参数是另一个类,就应该通过构造函数声明对象来表示。
    9. 如果一个构造函数或是函数的参数是另一个类,但是该类没有构造函数,可以通过对象字面量的形势表示。那么参数的语法应该和JSON的语法一致的。比如:
        <script>
        /*
         Panorama的构造函数:
           Panorama(container:String|HTMLElement[, PanoramaOptions])
         PanoramaOptionis的构造函数:
                   此类为Panorama类构造函数的可选参数,使用对象字面量形式表示,不可实例化。
        */
        var acops={
          anchor:BMAP_ANCHOR_TOP_RIGHT
        }
        var pos={
          navigationControl:true,
          albumsControl:true,
          albumsControlOptions:acops
        }
        //create panorama
        var panorama=new BMap.Panorama("container",pos);
        //set position
        panorama.setPosition(new BMap.Point(120.320032, 31.589666));
        </script>
    10. 如果对于某些的类的构造情况不清楚,可以通过一段代码反映远端类的构造的大致情况,详见获取未知类的结构
    11. 使用百度地图删除左下角的百度版权logo会涉及侵权,详见使用百度地图常见问题

    参考文章

    本文为博主原创文章,若需转载请注明出处。

  • 相关阅读:
    第04组 Alpha冲刺 总结
    第04组 Alpha冲刺 (6/6)
    软工实践个人总结
    第09组 每周小结 (3/3)
    第09组 每周小结 (2/3)
    第09组 每周小结 (1/3)
    第09组 Beta冲刺 总结
    第09组 Beta冲刺 (5/5)
    第09组 Beta冲刺 (4/5)
    第09组 Beta冲刺 (3/5)
  • 原文地址:https://www.cnblogs.com/HDK2016/p/6200447.html
Copyright © 2011-2022 走看看