如何在 WordPress 页面中插入百度地图?附详细步骤

投稿 醒悟的凡灵    2019-09-04 09:52:40  63 人阅读  14 条评论

我们经常会需要在页面中引用地图,以直观地标识某个位置的所在地。我们当然也可以用一张地图的截图,但引用地图则可让用户不必离开页面,就能详细地查看更多地图信息。对比了 Google 地图、百度地图、高德地图、腾讯地图,发觉腾讯地图最精准,但引用百度地图则较方便,所以我以在页面中插入百度地图为例进行测试。

一、申请百度地图 API Key

1、注册百度帐号,登录百度地图开放平台:http://lbsyun.baidu.com/,拉到页面底部,点击“申请密钥”按钮。

2、创建应用:应用名称随便填,自己搞得清楚就行,应用类型选择“浏览器端”,应用服务默认全选,Referer 白名单按格式填写你的网站域名,完成后“提交”。

如何在 WordPress 页面中插入百度地图?附详细步骤 - 第1张 - boke112联盟(boke112.com)

3、获得访问应用(AK),返回应用列表,可看到刚才创建的应用,已经分配了一个 API Key ,记下他,后面要用到。

如何在 WordPress 页面中插入百度地图?附详细步骤 - 第2张 - boke112联盟(boke112.com)

二、创建百度地图获取引用代码

1、打开百度地图生成器:http://api.map.baidu.com/lbsapi/createmap/,按步骤创建地图。

如何在 WordPress 页面中插入百度地图?附详细步骤 - 第3张 - boke112联盟(boke112.com)

1)定位中心点,即我们要定位的位置,比如说我们“红菲舞蹈”舞馆的地址,已有标识的当然最好,没有标识的,选一个最接近的地址。地图级别可填写数字,最高 19 级,也可通过地图上的 +、- 号来调整。

2)设置地图,可以按照自己的喜好修改地图的外观,地图的宽和高、地图上显示的按钮(缩放、缩略图、比例尺)、鼠标和键盘对地图的操作等,一般默认即可。

3)添加标注,可以添加自己想要标注的位置和信息。

如何在 WordPress 页面中插入百度地图?附详细步骤 - 第4张 - boke112联盟(boke112.com)

第一个是点标记,用于标记我们相对更准确的位置,可以加入名称和备注,用于展示个性化信息。第二个是线标记,可用于标记行走路线的指引。第三个是文字标记,可用于在地图标记说明性文字。

2、点击黄色的“获取代码”按钮,生成百度地图引用代码,内容如下:

<!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:700px;height:550px;border:#ccc solid 1px;font-size:12px" id="map"></div>
<p style="color:red;font-weight:600">地图生成工具基于百度地图 JS api v2.0 版本开发,使用请申请密匙。
<a href="http://developer.baidu.com/map/index.php?title=jspopular/guide/introduction" style="color:#2f83c7" target="_blank">了解如何申请密匙</a>
<a href="http://lbsyun.baidu.com/apiconsole/key?application=key" style="color:#2f83c7" target="_blank">申请密匙</a>
</p>
</body>
<script type="text/javascript">
//创建和初始化地图函数:
function initMap(){
createMap();//创建地图
setMapEvent();//设置地图事件
addMapControl();//向地图添加控件
addMapOverlay();//向地图添加覆盖物
}
function createMap(){ 
map = new BMap.Map("map"); 
map.centerAndZoom(new BMap.Point(119.180372,29.035123),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:"联系电话:13587031535",title:"红菲舞蹈",imageOffset: {width:0,height:3},position:{lat:29.035111,lng:119.180273}}
];
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);
};
var plOpts = [
];
var plPath = [
];
for(var index = 0; index < plOpts.length; index++){
var polyline = new BMap.Polyline(plPath[index],plOpts[index]);
map.addOverlay(polyline);
}
}
//向地图添加控件
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>
</html>

百度地图生成工具基于百度地图 Javascript API v2.0 版本开发,为了正常使用百度地图 API 服务,代码中需要加入你的密匙,即前面申请的 API Key ,修改处:

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密匙"></script>

三、生成引用百度地图 HTML 文件

把上一步生成的代码保存为一个 HTML 文件,如 baidumap.html,我们把它上传到网站的根目录下,在浏览器中打开,就可以看到自己定义的百度地图了。

四、将百度地图插入 WordPress 页面中

打开你想要插入百度地图的页面,更改区块格式为“自定义 HTML”,输入以下代码:

<iframe src="baidumap.html" width="700px" height="550px" frameborder="0" scrolling="no"></iframe>

这样我们就轻松地用一个 iframe 标签将百度地图嵌入到网页中了,当然地图的宽高、在网页中显示的位置可自己写 CSS 调整,也可简单地像我只调整宽和高。

在 baidumap.html 文件中将 width:700px 修改为 width:100%,如下:

<!--百度地图容器-->
<div style="width:100%;height:500px;border:#ccc solid 1px;font-size:12px" id="map"></div>

在页面的引用中,也作相应调整,我加大了 height 的值,使其上下有些间距,如下:

<iframe src="baidumap.html" width="100%" height="520" frameborder="0" scrolling="no"></iframe>

这里的高度不需要加 px,这样的方式不管任何 WordPress 版本都可以放入,也不会因为升级而产生不可用的情况。效果可见我的范例:https://ladingwu.xin/aboutus

五、让百度地图 API 支持 HTTPS

经过上面的改造后,在 Google Chrome 中浏览时,却提示“加载不安全脚本”,不能显示地图上的控件,网站的小绿锁标识也不显示。这是由于 JavaScript API 没有启用 https 服务,其实我们只需将 api 的网址 http 改为 https,再加一个特殊字段 (s=1)即可,即修改为如下:

<!--引用百度地图 API-->
<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=您的密匙&s=1"></script>

另外要注意一点的是,网上许多教程都是通过百度地图 API 站点:http://api.map.baidu.com/lbsapi/creatmap/,进行创建地图,这已经过时了,它的 Javascript API 版本是 v1.1,且多有错误,请大家一定要用百度地图生成器:http://api.map.baidu.com/lbsapi/createmap/ 。

您可能感兴趣的文章

文章标签:
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 醒悟的凡灵 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
©boke112联盟,本站推荐使用:阿里云 ECS服务器等云产品服务,国外免备案主机建议使用:老薛主机
醒悟的凡灵

 发表评论

大笑表情偷笑表情鼓掌表情思考表情疑问表情抠鼻表情抓狂表情晕表情黑线表情流汗表情流泪表情囧表情衰表情围观表情OK表情牛表情

  1. 一为忆
    一为忆 @回复

    来个高德的,不要申请key,直接生成代码就可以用了 //lbs点amap点com/console/show/tools

  2. 轩沫博客
    轩沫博客 @回复

    企业建站很实用。

  3. 隔震支座
    隔震支座 @回复

    感觉没什么用啊

  4. 非凡信息网
    非凡信息网 @回复

    学到了,搭建企业网站的时候能用到

  5. 弥雅
    弥雅 @回复

    中而一般企业官网会用到,nice

  6. MAY的SEO博客
    MAY的SEO博客 @回复

    这个企业网站还是用得到的。

  7. 武陵红苗
    武陵红苗 @回复

    真的是学习了 [鼓掌]

  8. wordpress建站吧
    wordpress建站吧 @回复

    这么多步骤,还挺麻烦的

  9. 李峰博客
    李峰博客 @回复

    [大笑] 这个不错,应该会用到