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

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

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

一、获取源代码

      网址: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
原文地址:https://www.cnblogs.com/jasmine-95/p/5604392.html