在现在的很多页面中,都运用到了百度地图来定位,例如:
像这样的地图,我们可以通过手动来进行放大、缩小、移动等来查找具体的地址,特别方便,在页面上引用也显得页面很有特点,那么,应该怎么样来制作这种地图呢?
一、获取源代码
网址: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>