如何在网页中调用百度地图api
我想在木有提供地图接口的年代,前端工程师门要么只写上企业的具体地址,要么就是用一张标有自己位置的地图图片。但是现在不一样啦!为了增强用户体验,谷歌,甚至百度都很开放了,你可以在他们的网站上找到地图接口,通过进行直接的调用就可以了。

下面我来教你怎么在网页中用好百度地图,当然了,你也可以去百度地图网站去查找相关的技术资料。
首先你需要进入到百度地图官网http://developer.baidu.com/map/ 。因为我们是用的脚本进行加载的,所以我们要选择上图中的第一个“javascript api”,进去之后你会发现它的功能很强大有木有?

这里只是它的冰山一角。你可以在最下面“开始体验”。里面有源代码,你可以获取,然后放入到你的网页当中去。不过我今天讲的不是这么简单的。
我需要的是地图层,需要有移动,还需要能进行导航搜索功能。怎么实现呢?Copy下面的这段代码到你的网页中:
<script type=”text/javascript”>
// 百度地图API功能
var map = new BMap.Map(‘map’);
var poi = new BMap.Point(116.307852,40.057031);
map.centerAndZoom(poi, 16);
map.enableScrollWheelZoom();
var content = ’<div style=”margin:0;line-height:20px;padding:2px;”>’ +
‘<img src=”../img/baidu.jpg” alt=”" style=”float:right;zoom:1;overflow:hidden;width:100px;height:100px;margin-left:3px;”/>’ +
‘地址:北京市海淀区上地十街10号<br/>电话:(010)59928888<br/>简介:百度大厦位于北京市海淀区西二旗地铁站附近,为百度公司综合研发及办公总部。’ +
‘</div>’;
//创建检索信息窗口对象
var searchInfoWindow = null;
searchInfoWindow = new BMapLib.SearchInfoWindow(map, content, {
title : ”百度大厦”, //标题
width : 290, //宽度
height : 105, //高度
panel : ”panel”, //检索结果面板
enableAutoPan : true, //自动平移
searchTypes :[
BMAPLIB_TAB_SEARCH, //周边检索
BMAPLIB_TAB_TO_HERE, //到这里去
BMAPLIB_TAB_FROM_HERE //从这里出发
]
});
var marker = new BMap.Marker(poi); //创建marker对象
marker.enableDragging(); //marker可拖拽
marker.addEventListener(“click”, function(e){
searchInfoWindow.open(marker);
})
map.addOverlay(marker); //在地图中添加marker
searchInfoWindow.open(marker); //在marker上打开检索信息串口
$(“close”).onclick = function(){
searchInfoWindow.close();
}
$(“open”).onclick = function(){
var enableSendToPhone = false;
if ($(“enableSendToPhone”).checked) {
enableSendToPhone = true;
}
searchInfoWindow = new BMapLib.SearchInfoWindow(map, content, {
title : ”百度大厦”, //标题
width : 290, //宽度
height : 105, //高度
panel : ”panel”, //检索结果面板
enableAutoPan : true, //自动平移
enableSendToPhone: enableSendToPhone, //是否启用发送到手机
searchTypes :[
BMAPLIB_TAB_SEARCH, //周边检索
BMAPLIB_TAB_TO_HERE, //到这里去
BMAPLIB_TAB_FROM_HERE //从这里出发
]
});
if ($(“enableAutoPan”).checked) {
searchInfoWindow.enableAutoPan();
} else {
searchInfoWindow.disableAutoPan();
};
searchInfoWindow.open(marker);
}
$(“show”).onclick = function(){
searchInfoWindow.show();
}
$(“hide”).onclick = function(){
searchInfoWindow.hide();
}
$(“getPosition”).onclick = function(){
var position = searchInfoWindow.getPosition();
alert(“经度:” + position.lng + ”;纬度:” + position.lat);
}
$(“setValue”).onclick = function(){
searchInfoWindow.setPosition(new BMap.Point($(“lng”).value, $(“lat”).value));
searchInfoWindow.setTitle($(“title”).value);
searchInfoWindow.setContent($(“content”).value);
}
$(“getContent”).onclick = function(){
alert(searchInfoWindow.getContent());
}
$(“getTitle”).onclick = function(){
alert(searchInfoWindow.getTitle());
}
function $(id){
return document.getElementById(id);
}
//样式1
var searchInfoWindow1 = new BMapLib.SearchInfoWindow(map, ”信息框1内容”, {
title:”信息框1″, //标题
panel : ”panel”, //检索结果面板
enableAutoPan : true, //自动平移
searchTypes :[
BMAPLIB_TAB_FROM_HERE, //从这里出发
BMAPLIB_TAB_SEARCH //周边检索
]
});
function openInfoWindow1() {
searchInfoWindow1.open(new BMap.Point(116.319852,40.057031));
}
//样式2
var searchInfoWindow2 = new BMapLib.SearchInfoWindow(map, ”信息框2内容”, {
title: ”信息框2″, //标题
panel : ”panel”, //检索结果面板
enableAutoPan : true, //自动平移
searchTypes :[
BMAPLIB_TAB_SEARCH //周边检索
]
});
function openInfoWindow2() {
searchInfoWindow2.open(new BMap.Point(116.324852,40.057031));
}
//样式3
var searchInfoWindow3 = new BMapLib.SearchInfoWindow(map, ”信息框3内容”, {
title: ”信息框3″, //标题
width: 290, //宽度
height: 40, //高度
panel : ”panel”, //检索结果面板
enableAutoPan : true, //自动平移
searchTypes :[
]
});
function openInfoWindow3() {
searchInfoWindow3.open(new BMap.Point(116.328852,40.057031));
}
var isPanelShow = false;
//显示结果面板动作
$(“showPanelBtn”).onclick = function(){
if (isPanelShow == false) {
isPanelShow = true;
$(“showPanelBtn”).style.right = ”300px”;
$(“panelWrap”).style.width = ”300px”;
$(“map”).style.marginRight = ”300px”;
$(“showPanelBtn”).innerHTML = ”隐藏检索结果面板<br/>>”;
} else {
isPanelShow = false;
$(“showPanelBtn”).style.right = ”0px”;
$(“panelWrap”).style.width = ”0px”;
$(“map”).style.marginRight = ”0px”;
$(“showPanelBtn”).innerHTML = ”显示检索结果面板<br/><”;
}
}
</script>
别以为这样就ok啦,还有这些也是需要滴!
用来装地图的盒子,盒子里要用 id=”map”,还要有这个js库
<script type=”text/javascript” src=”http://api.map.baidu.com/api?v=1.5&ak=2b866a6daac9014292432d81fe9b47e3“></script>
来看看效果:

这里有些地方是可以更改的var poi = new BMap.Point(116.307852,40.057031);用来修改你具体位置在地图上的坐标点;map.centerAndZoom(poi, 16);可以用来显示地图层的,在地图上滚动你的滑轮你注意下就知道了。

要是我不知道我的具体位置的坐标点或者我想把地点弄的更精确怎么办?
你可以用坐标拾取工具,或者是用快速生成工具

怎么样?这样的用户体验是不是蛮拉轰的?
不过我们需要知道的是,在给用户带来了好的体验的同时也是有损失的。利用对外的加载会让我们的网页打开速度下降。
如果你还有什么不懂的,可以留言哦!
原文链接:http://www.qianduanview.com/237.html
如何在网页中调用百度地图api的更多相关文章
- ASP.NET中调用百度地图API
1.打开链接http://developer.baidu.com/map/jshome.htm这里有很多DEMO,或者你直接百度搜索“百度地图API”,第一个就是.进入后有很多方向供你选择,由于现在开 ...
- 【c#】Form调用百度地图api攻略及常见问题
首先,在Form中调用百度地图api,我们需要使用webbrowser控件,这个在前面的文章中已经讲过了,可以参照(http://blog.csdn.net/buptgshengod/article/ ...
- 在XAF(ASP.NET)中以ListEditor的形式调用百度地图API
因为项目需要,在系统中使用地图显示设备的地理位置.考虑过ArgGIS,Bing和Baidu地图.本来想用ArgGIS,看教程嫌麻烦.所以还是用Web地图吧.Bing的话还要申请个key,没心情.百度地 ...
- 网页中嵌入百度地图报错:The request has been blocked,the content must served over Https
网页中嵌入百度地图 1.进入百度地图开发平台:http://lbsyun.baidu.com/index.php?title=jspopular 2.获取密钥:http://lbsyun.baidu. ...
- Android应用中使用百度地图API并加入标注(一)
网上一些资料这样的的内容已经过时了,这里是最新的内容,假设哪里不正确,请吐槽... 1)下载百度地图移动版API(Android)开发包 要在Android应用中使用百度地图API,就须要 ...
- pc网页中嵌入百度地图
pc网页中嵌入百度地图 1 打开百度地图生成器: http://api.map.baidu.com/lbsapi/creatmap/ 2 设置好了之后,点击获取代码,将代码粘贴到文件中保存为html文 ...
- 调用百度地图API的总结
因为项目要用到百度地图,所以先摸索了一下,各种功能官方都有文档,点击可查看,文章的话我就直接写我用到的功能例子了,要用可以直接复制粘贴~ 一.主要涉及到的几个接口(先申请密钥): 1.技术一:坐标转换 ...
- Python调用百度地图API实现批量经纬度转换为实际省市地点(api调用,json解析,excel读取与写入)
1.获取秘钥 调用百度地图API实现得申请百度账号或者登陆百度账号,然后申请自己的ak秘钥.链接如下:http://lbsyun.baidu.com/apiconsole/key?applicatio ...
- Angular 调用百度地图API接口
Angular 调用百度地图API接口 参考原文:https://blog.csdn.net/yuyinghua0302/article/details/80624274 下面简单介绍一下如何在Ang ...
随机推荐
- a标签的作用
a标签的hover,active,target,visited等伪类在所有浏览器中是兼容的,而其他元素的这些伪类并不全兼容: a标签本身是跳转页面的,把跳转的地址写在href这个属性中, (1)不 ...
- File system needs to be upgraded. You have version null and I want version 7
安装hbase时候报错: File system needs to be upgraded. You have version null and I want version 7 注: 我安装的hba ...
- contiki-事件调度
事件驱动机制广泛应用于嵌入式系统,类似于中断机制,当有事件到来时(比如按键.数据到达),系统响应并处理该事件.相对于轮询机制,事件机制优势很明星,低功耗(系统处于休眠状态,当有事件到达时才被唤醒)和M ...
- Easy Sysprep更新日志-skyfree大神
Easy Sysprep更新日志: Skyfree 发表于 2016-1-22 13:55:55 https://www.itsk.com/forum.php?mod=viewthread&t ...
- js判断数据类型
1.判断一个数字是否是无穷的 isFinite()例:var aa=Number.POSITIVE_INFINITY; if(isFinite(aa)){ alert("aa不是无穷的&qu ...
- Javascript学习笔记3 Javascript与BOM简介
什么是BOM BOM是browser object model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象 ...
- Unity Container 应用示例
一 项目引用Unity 右键项目引用-> 管理Nuget包->搜索unity->安装Unity 和 Unity Interception Extension,如下图所示. 二 创建基 ...
- guava学习--Function、Predicate
Function用于同步转换. Predicate用于过滤. import java.util.Collection; import java.util.Iterator; import java.u ...
- spring MVC 资料
1.web.xmlorg.springframework.web.filter.CharacterEncodingFilter;配置字符编码,配置示例: <filter> <filt ...
- How to Develop blade and soul Skills
How to Develop Skills Each skill can be improved for variation effects. Some will boost more strengt ...