帝国cms添加百度API地图,默认显示提示框
2024-07-04 09:56:41
建站教程
0
百度API地图显示效果如图:
利用自定义页面添加ditu.html,再引用iframe
1 |
<iframe scrolling= "no" src= "[!--news.url--]ditu.html" ></iframe> |
给iframe定义样式:
1 |
iframe { display: block; margin: 30px auto; width: 100%; height: 400px; border: 0; } |
ditu.html参考代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82 |
<!DOCTYPE html> <html xmlns= "http://www.w3.org/1999/xhtml" > <head> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" /> <meta name= "keywords" content= "百度地图,百度地图API,百度地图自定义工具,百度地图所见即所得工具" /> <meta name= "description" content= "百度地图API自定义地图,帮助用户在可视化操作下生成百度地图" /> <title>百度地图API自定义地图</title> <!--引用百度地图API--> <script type= "text/javascript" src= "http://api.map.baidu.com/api?v=2.0&ak=授权码" ></script> </head> <body> <!--百度地图容器--> <div style= "width:100%;height:400px;border:#ccc solid 1px;" id= "map" ></div> </body> <script type= "text/javascript" > var cp_title= "XX有限公司" ; var cp_content= "电话:123-456-789<br/>地址:XXXX16号" ; var cp_lng=114.08607; var cp_lat=22.995141; //创建和初始化地图函数: function initMap(){ createMap(); //创建地图 setMapEvent(); //设置地图事件 addMapControl(); //向地图添加控件 addMapOverlay(); //向地图添加覆盖物 } function createMap(){ map = new BMap.Map( "map" ); map.centerAndZoom( new BMap.Point(cp_lng,cp_lat),19); } function setMapEvent(){ map.enableScrollWheelZoom(); map.enableKeyboard(); map.enableDragging(); map.enableDoubleClickZoom() } function addClickHandler(target,window){ target.addEventListener( "click" , function (){ target.openInfoWindow(window); }); } function addMapOverlay(){ var markers = [ {content:cp_content,title:cp_title,imageOffset: {width:-46,height:-21},position:{lat:cp_lat,lng:cp_lng}} ]; for ( var index = 0; index < markers.length; index++ ){ var point = new BMap.Point(markers[index].position.lng,markers[index].position.lat); 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),{ imageOffset: new BMap.Size(markers[index].imageOffset.width,markers[index].imageOffset.height) })}); var label = new BMap.Label(markers[index].title,{offset: new BMap.Size(25,5)}); var opts = { width: 200, title: markers[index].title, enableMessage: false }; var infoWindow = new BMap.InfoWindow(markers[index].content,opts); // 创建信息窗口对象 marker.setLabel(label); addClickHandler(marker,infoWindow); map.addOverlay(marker); map.openInfoWindow(infoWindow, map.getCenter()); // 打开信息窗口 }; } //向地图添加控件 function addMapControl(){ var scaleControl = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT}); scaleControl.setUnit(BMAP_UNIT_IMPERIAL); map.addControl(scaleControl); var navControl = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE}); map.addControl(navControl); var overviewControl = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:true}); map.addControl(overviewControl); } var map; initMap(); </script> <style> .BMap_bubble_content { font-size: 13px;} .BMap_bubble_title { font-weight: bold; margin-bottom: 8px;} label.BMapLabel { display: none !important;} </style> </html> |
地图制作方法:
1、申请百度APT地图账号,需要实名认证
2、控制台创建应用,添加网站白名单,获取AK,替换ditu.html的AK
3、坐标拾取:http://api.map.baidu.com/lbsapi/getpoint/index.html,替换ditu.html坐标位置
HTTPS加了证书的话,还需要修改ditu.html
1、在</head>之前添加js
1 |
<script type= "text/javascript" >window.HOST_TYPE= '2' </script> |
2、修改http为https
1 |
<script type= "text/javascript" src= "https://api.map.baidu.com/api?v=2.0&ak=授权码" ></script> |
赞一个
()
相关文章
广告