HDwiki如何增加百度地图-赖皮兔-养宠物狗猫兔品种图片大全-找宠物店医院美容学校
赖皮兔  > 所属分类  >  网站事务   

HDwiki如何增加百度地图

暂无标签
[0] 评论[0] 编辑

HDwiki在早期曾有好多站长使用,并且建立不少地方百科,如玉林百科网等。地方百科的词条多为地名,因此增加在线的电子地图是非常有必要的。HDwiki插件里其实是有相关的地图插件的,如谷歌地图插件以及mapabc地图插件,不过谷歌地图在国内已经无法使用,而mapabc因为没有更新,也不能生效。鉴于HDwiki官方已经不再更新,只能自己想办法添加百度地图API。

工具/原料

  • 百度地图API Key
  • 网页编辑器,如Notepad++

方法/步骤

  1. 至百度开放平台申请百度地图API Key,在地图API示例中我们选择“地址解析”,即通过词条名来定位地图。

  2. 经过分析代码我们可以发现2个主要部分:

    1、头部代码:

    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

    <style type="text/css">

    body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}

    </style>

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

    2、显示代码:

    <div id="allmap"></div>

    以下代码示例中放在页面最后,其实可以直接放在一起。

    <script type="text/javascript">

    // 百度地图API功能

    var map = new BMap.Map("allmap");

    var point = new BMap.Point(116.331398,39.897445);

    map.centerAndZoom(point,12);

    // 创建地址解析器实例

    var myGeo = new BMap.Geocoder();

    // 将地址解析结果显示在地图上,并调整地图视野

    myGeo.getPoint("北京市海淀区上地10街", function(point){

    if (point) {

    map.centerAndZoom(point, 16);

    map.addOverlay(new BMap.Marker(point));

    }else{

    alert("您选择地址没有解析到结果!");

    }

    }, "北京市");

    </script>

  3. 经过测试,将头部代码经过适当修改才能正常显示:

    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

    <style type="text/css">

    body, html,#allmap  {width: 100%;height: 500px;font-family:"微软雅黑";}

    </style>

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

    对于height需要指定,否则不能显示。

    将此段代码写在当天模板header.htm </head>标签前。

  4. 在词条展示页插入地图展示代码:

    <div id="allmap">

    <script type="text/javascript">

    // 百度地图API功能

    var map = new BMap.Map("allmap");

    var point = new BMap.Point(116.331398,39.897445);

    map.centerAndZoom(point,12);

    // 创建地址解析器实例

    var myGeo = new BMap.Geocoder();

    // 将地址解析结果显示在地图上,并调整地图视野

    myGeo.getPoint("{$navtitle}", function(point){

    if (point) {

    map.centerAndZoom(point, 16);

    map.addOverlay(new BMap.Marker(point));

    }else{

    alert("您选择地址没有解析到结果!");

    }

    }, "北京市");

    </script>

    </div>

    注 :{$navtitle}即当前词条名。

    “北京市”则改为当前地市名称,以便在当前城市下定位。

  5. 5

    实现效果,地图会根据词条名展示地图,如词条名不能被识别为地名或地图数据库无此地名,则展示默认当前城市地图。

    展示是比较智能的,如“**县**镇**村**组”,会智能逐级向前识别。具体效果可参考“玉林百科网”。

    END

附件列表


0

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

如果您认为本词条还有待完善,请 编辑

上一篇 齐博 伪静态设置    下一篇 提交百度网站地图时提示“xml根节点错误”的解决方法

标签

暂无标签

同义词

暂无同义词