如何在网页中调用百度地图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

时间: 2024-10-12 22:30:31

如何在网页中调用百度地图api的相关文章

ionic 调用百度地图API,并定位当前位置示例

首先,可以参考JS版本的百度地图API示例. 由于在ionic程序中,我们一般使用的ES5 或 ES6 或者是Typescript. 这与JS 还有有一些区别的.所以,在我们的程序中,代码与官方示例代码格式上不完全相同. 下面,简单说明一下如何在 ionic 程序中 调用 百度地图API. 1. 在ionic程序中,定位到文件: \src\index.html.  添加如下代码 , 注意将"您的密钥" 替换成 您申请的密钥 <script type="text/java

在网页中插入百度地图(实例)

步骤 1 2 3 如何在网页中插入百度地图呢? 2.切换城市,搜索需标注位置.(如下图 方法/步骤 1.进入:http://api.map.baidu.com/lbsapi/creatmap/(创建地图-百度地图API所见即所得工具,百度官方地址,大家放心使用) 切换城市,搜索需标注位置.(如下图:) 设置地图:大家可以对网站显示地图的宽高进行设置,其余选项不动. 添加标注:点击第一个图标后,在右侧找到自己的位置,单击鼠标左键可定位.标记图标处可更换图标形状,名称和备注填入位置相关信息.(如下图

C#调用百度地图API入门&amp;解决BMap未定义问题

本文主要是最近帮助好友研究JavaScript的百度地图API,同时显示到C# Winform界面.同时遇到了BMap未定义的错误(BMap is not defined)及解决方法.以前写过基于Android的百度地图,其实原理都差不多,希望文章对你有所帮助吧! 一. C#显示百度地图 使用C# Winform显示百度地图主要包括两个步骤: 1.调用百度地图API,通过申请的密钥AK访问JavaScript版本地图: 2.再在C#中webBrowser浏览器控件中访问JS文件,显示地图到窗口.

Android应用中使用百度地图API定位自己的位置(二)

官方文档:http://developer.baidu.com/map/sdkandev-6.htm#.E7.AE.80.E4.BB.8B3 百度地图SDK为开发者们提供了如下类型的地图覆盖物: 我的位置图层(MyLocationOverlay):用于显示用户当前位置的图层(支持自定义位置图标): Poi搜索结果图层(PoiOverlay):用于显示兴趣点搜索结果的图层: 路线图层(RouteOverlay):公交.步行和驾车线路图层,将公交.步行和驾车出行方案的路线及关键点显示在地图上(起.终

在混合app开发过程中使用百度地图api的出现坐标偏差的解决

在项目中使用ngCordova的$cordovaGeolocation模块获取当前位置经纬度,当展示在百度地图中时发现有误差(我的测试误差为1.7公里左右),查资料发现百度地图经纬度与普通Gps获取的经纬度并不一样,解决办法参考百度开放地图论坛官方贴(http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=121352&extra=page%3D1). 我用的是官方给的第二种方式,代码参考如下: ionic框架,引入<scri

在网页中加入百度地图

一.打开的图生成器 http://api.map.baidu.com/lbsapi/creatmap/ 二.创建地图 1.定位中心点,默认为北京,点击切换,输入公司的具体所在城市和具体地址.这个时候,地图会切换到该地点范围内. 2.设置地图,这一点基本上不用管,只用适当的设置下宽度和高度即可. 3.添加标注,其实网站建设者未必知道该企业的准确位置,往往不知道该标在哪.这时候,我们可以打开http://map.baidu.com/ ,查询到详细坐标,标注上去.这个标记图标是可以换的,根据自己喜欢来

Android应用中使用百度地图API并加入标注(一)

网上一些资料这样的的内容已经过时了,这里是最新的内容,假设哪里不正确,请吐槽... 1)下载百度地图移动版API(Android)开发包      要在Android应用中使用百度地图API,就须要在project中引用百度地图API开发包,这个开发包包括两个文件: 下载地址:http://pan.baidu.com/s/1i31enrB 2)申请API Key //包名 格式:比如:B7:6C:CF:E2:47:50:9B:3E:34:F7:08:72:F3:AC:F1:BE:55:D3:77

Android应用中使用百度地图API并添加标注(一)

网上一些资料这种的内容已经过时了,这里是最新的内容,如果哪里不对,请吐槽... 1)下载百度地图移动版API(Android)开发包 要在Android应用中使用百度地图API,就需要在工程中引用百度地图API开发包,这个开发包包含两个文件: 下载地址:http://pan.baidu.com/s/1i31enrB 2)申请API Key //包名 格式:例如:B7:6C:CF:E2:47:50:9B:3E:34:F7:08:72:F3:AC:F1:BE:55:D3:77:FB;com.maji

HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地(转)

HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地 我是应用在微信中,自定义菜单,菜单直接链接到这个HTML5页面,获取当前位置后,页面中定好目的地,这样打开页面后直接进入导航页面 可以省下先发送位置信息后,点确定再出导航,省一步, <!DOCTYPE html> <html lang="zh-cmn-Hans"> <meta charset="UTF-8"> <meta name="viewpor