• 如何在页面中生成动态的百度地图


      在现在的很多页面中,都运用到了百度地图来定位,例如:

      像这样的地图,我们可以通过手动来进行放大、缩小、移动等来查找具体的地址,特别方便,在页面上引用也显得页面很有特点,那么,应该怎么样来制作这种地图呢?

    一、获取源代码

          网址:http://api.map.baidu.com/lbsapi/createmap/index.html?qq-pf-to=pcqq.c2c

    1.打开网址,就可以看到一个地图编辑界面:

      

    2.在页面右侧设置地点等信息:

    1)设置地点

        

    2)设置地图上的基本信息

        

    3)在地图上添加标志

        

        点击标记图标还可以选择它的样式:

    4)获取源代码

        点击页面下面的第二步中的获取源代码即可:

      ——————>

    (注意:这里生成的代码是显示不出来的,必须获取密匙)

    二、获取密匙

    1.点击生成的代码中的“获取密匙”:,然后按照要求一步步填写资料并提交,一定要注意必须进行认证。

    2.将生成的Ak(即密匙)复制到代码中,替换掉“您的密匙”

      

    三、插入到自己的页面中

    按照自己的页面要求将生成的代码插入在页面代码中,但是一定要注意加载顺序的问题:

      方法1:如果js代码是放在页面代码里面的,注意把生成地图js代码放在页面最下边。

      方法2:如果用的外部js链接,应该把地图的js代码放在 $(function(){...})里面。

    四、独立地图源码

     1 <!DOCTYPE html>
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3   <head>
     4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     5     <meta name="keywords" content="百度地图,百度地图API,百度地图自定义工具,百度地图所见即所得工具" />
     6     <meta name="description" content="百度地图API自定义地图,帮助用户在可视化操作下生成百度地图" />
     7     <title>百度地图API自定义地图</title>
     8     <!--引用百度地图API-->
     9     <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=4mkBt21xAMGLFNxFo652P5Lq"></script>
    10   </head>
    11   
    12   <body>
    13     <!--百度地图容器-->
    14     <div style="700px;height:550px;border:#ccc solid 1px;font-size:12px" id="map"></div>
    15     <p style="color:red;font-weight:600">地图生成工具基于百度地图JS api v2.0版本开发,使用请申请密匙。
    16       <a href="http://developer.baidu.com/map/index.php?title=jspopular/guide/introduction" style="color:#2f83c7" target="_blank">了解如何申请密匙</a>
    17       <a href="http://lbsyun.baidu.com/apiconsole/key?application=key" style="color:#2f83c7" target="_blank">申请密匙</a>
    18     </p>
    19   </body>
    20   <script type="text/javascript">
    21     //创建和初始化地图函数:
    22     function initMap(){
    23       createMap();//创建地图
    24       setMapEvent();//设置地图事件
    25       addMapControl();//向地图添加控件
    26       addMapOverlay();//向地图添加覆盖物
    27     }
    28     function createMap(){ 
    29       map = new BMap.Map("map"); 
    30       map.centerAndZoom(new BMap.Point(121.515663,31.315091),18);
    31     }
    32     function setMapEvent(){
    33       map.enableScrollWheelZoom();
    34       map.enableKeyboard();
    35       map.enableDragging();
    36       map.enableDoubleClickZoom()
    37     }
    38     function addClickHandler(target,window){
    39       target.addEventListener("click",function(){
    40         target.openInfoWindow(window);
    41       });
    42     }
    43     function addMapOverlay(){
    44       var markers = [
    45         {content:"公司地址:上海市政立路477号同和国际大厦A座501",title:"同和国际大厦",imageOffset: {-46,height:-21},position:{lat:31.314898,lng:121.514693}}
    46       ];
    47       for(var index = 0; index < markers.length; index++ ){
    48         var point = new BMap.Point(markers[index].position.lng,markers[index].position.lat);
    49         var marker = new BMap.Marker(point,{icon:new BMap.Icon("http://api.map.baidu.com/lbsapi/createmap/images/icon.png",new BMap.Size(20,25),{
    50           imageOffset: new BMap.Size(markers[index].imageOffset.width,markers[index].imageOffset.height)
    51         })});
    52         var label = new BMap.Label(markers[index].title,{offset: new BMap.Size(25,5)});
    53         var opts = {
    54            200,
    55           title: markers[index].title,
    56           enableMessage: false
    57         };
    58         var infoWindow = new BMap.InfoWindow(markers[index].content,opts);
    59         marker.setLabel(label);
    60         addClickHandler(marker,infoWindow);
    61         map.addOverlay(marker);
    62       };
    63     }
    64     //向地图添加控件
    65     function addMapControl(){
    66       var scaleControl = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});
    67       scaleControl.setUnit(BMAP_UNIT_IMPERIAL);
    68       map.addControl(scaleControl);
    69       var navControl = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE});
    70       map.addControl(navControl);
    71       var overviewControl = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:false});
    72       map.addControl(overviewControl);
    73     }
    74     var map;
    75       initMap();
    76   </script>
    77 </html>
    View Code
  • 相关阅读:
    java页面请求跑批处理sql的有关问题
    Linux下一个检查跑批是否成功的Shell
    redhat Linux5 安装vsftp .
    LINUX FTP简单配置
    java代理机制
    详细解析Java中抽象类和接口的区别
    抽象类和接口的区别
    SVN与Git比较
    浅谈存储过程和触发器
    存储过程,触发器,函数 学习总结
  • 原文地址:https://www.cnblogs.com/jasmine-95/p/5604392.html
Copyright © 2020-2023  润新知