在一些网站上,我们经常会看到一些地址会有一个图标的形式展现,当你点击的时候就会加载一个你点击区域的地图出来,很神奇的一个功能,在之前是没有这样功能的,都是直接写上地址,你要去的话自己找去吧,现在有了这个人性化的工具之后,我们要找什么地点就明确很多了,在上面可以看到周围的具体环境啊,什么的,交通啊什么的都可以查到,那么,思考一下,要实现这个功能好像十分的困难吧,居然把一个地图给精确定位,太不可思议了。

  十分方便的是,我们的html5就能够轻松的帮助我们搞定这个事情,下面我就介绍一下怎么实现地图的呈现。

  首先我们需要百度地图API的接口,第一步,在百度的搜索栏输入“百度地图API”当页面发生跳转的时候找到“申请密钥”按钮,点击之后在开发的位置会出现三个javascript 极速版,大众版,开源库,点击选择大众版,之后跳转页面之后,就是获得密钥了,紧接着在API控制台同意条件,然后就是一个繁琐的注册阶段,相信大家都会,这个这册的话是可以取得五个免费的API接口的,当注册完成之后就可以创建我们的应用了。紧接着就将我们的密钥复制粘贴到访问应用AK 那个地方,最后就是在浏览器中设置允许网站跟踪您的位置,这样我们的前期准备工作就做好了,剩下的就是页面上的事情了。

  我们需要在页面上有一个div来显示我们的地图展示,还需要js代码来执行,不过不用担心,百度已经帮我们写好了代码,我们只需要直接应用就可以了,

<p id="p1"></p>---------》用来存放一会儿我们获得当地的坐标点的数据;

<button onclick="getLocation()">click</button>  在这里我们准备了一个函数用来触发获取位置这个事件,

接下来就是我们的js代码:

<script type="text/javascript">
var p1=document.getElementById("p1")
function getLocation()
{

if (navigator.geolocation)
{
alert(1);---------------->主要是用在这里作为测试,这是为了直观显示所以用了alert方法,不过这个方法会阻止代码的加载,所以还是建议用cconsole.log控制台输出。
navigator.geolocation.getCurrentPosition(showPosition);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}---------->如果浏览器不支持的话,弹出这句话提示用户。
}
function showPosition(position)
{
p1.innerHTML="Latitude: " + position.coords.latitude +
"<br />Longitude: " + position.coords.longitude;-------------------------》在这里显示获取的经度和纬度。
}
</script>

function showPosition(position)
{
var la= position.coords.latitude
var lo =position.coords.longitude

var map = new BMap.Map("container"); ----------》创建Map实例
map.centerAndZoom(new BMap.Point(lo,la), 15); ——————》初始化地图,设置中心点坐标和地图级别
map.addControl(new BMap.NavigationControl()); -------------》添加平移缩放控件
map.addControl(new BMap.ScaleControl()); -------------》添加比例尺控件
map.addControl(new BMap.OverviewMapControl()); ----------》滚轮放大缩小
map.addControl(new BMap.MapTypeControl()); -------------->添加地图/添加缩略地图控件
map.enableScrollWheelZoom();-------------->启用类型控件
map.setCurrentCity("成都"); ----------------->设置地图显示的城市 此项是必须设置的
}

既然我们可以

利用电脑进行定位,那么同时也可以用手机做一个导航的效果,但是前提是必须具备精准的导航功能,

watchPosition() - 返回用户的当前位置,并继续返回用户移动时的更新位置(就像汽车上的 GPS);

clearWatch() - 停止 watchPosition() 用clear方法进行清除watchPosition()方法,

下面我们进行手机的导航

同样是给一个p标签存放我们一会儿得到的坐标的数据,

var x=document.getElementById("p1")
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.watchPosition(showPosition);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
x.innerHTML="Latitude: " + position.coords.latitude +
"<br />Longitude: " + position.coords.longitude
}

主要的原理和我们上面讲到的百度地图API相似,我们的html5的功能确实很强大,但是并不是万能的,当然还是存在着一定的问题,所以在学习的时候进行有选择的吸收。

html5 的百度地图连接的更多相关文章

  1. HTML5 调用百度地图API地理定位

    <!DOCTYPE html> <html> <title>HTML5 HTML5 调用百度地图API地理定位实例</title> <head&g ...

  2. HTML5调用百度地图API进行地理定位实例

    自从HTML5的标准确定以后,越来越多的网站使用HTML5来进行开发.虽然对HTML5支持的浏览器不是很多,但是依然抵挡不了大伙对HTML5开发的热情.今天为大家带来的是使用HTML5调用百度地图AP ...

  3. HTML5调用百度地图API获取当前位置并直接导航目的地的方法

    <!DOCTYPE html> <html lang="zh-cmn-Hans">     <meta charset="UTF-8&quo ...

  4. HTML5结合百度地图API创建地图应用

    具体的百度地图API的使用方法查看百度地图API里的DEMO <style> #div1{ width:400px; height:400px; border:1px #000 solid ...

  5. html5定位并在百度地图上显示

    在开发移动端 web 或者webapp时,使用百度地图 API 的过程中,经常需要通过手机定位获取当前位置并在地图上居中显示出来,这就需要用到html5的地理定位功能. navigator.geolo ...

  6. HTML5地理定位,百度地图API,知识点熟悉

    推断浏览器的兼容问题: IE9+支持地理定位,FF Chrome新版支持地理定位  if (navigator.geolocation) {        alert('支持地理定位');   } e ...

  7. 百度地图API显示多个标注点,解决提示信息问题以及给标注增加地图旁的文字连接提示的另一种解决办法

    原文:百度地图API显示多个标注点,解决提示信息问题以及给标注增加地图旁的文字连接提示的另一种解决办法 公司的网站改版要求在一个页面显示百度地图.上面要同时显示很多标注点,标注点当然要有提示信息嘛,提 ...

  8. html5 geolocation配合百度地图api实现定位

    1.了解html5 geolocation HTML5 Geolocation(地理定位)用于定位用户的位置.鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的.=> 使用时 ...

  9. 使用html5获取当前手机的经纬度,并接入百度地图API,查询出当前位置

    最近项目需要,稍微研究一下html5获取当前地理位置的问题. 获取当前位置的经纬度很简单,一句代码就搞定 navigator.geolocation.getCurrentPosition(functi ...

随机推荐

  1. VS2010中编写宏添加作者信息与函数注释

    这里所说的宏是指通过一系列键盘组合键和可以插入自定义内容.下面介绍怎么编写一个自己的宏: 1.在Visual Studio 2010中按Alt+F11打开宏IDE: 2.打开后选择添加模块: 3.在弹 ...

  2. A Simple problem

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2497 题意:给出顶点数,边数及节点s,判断s是 ...

  3. 【转】android中重复连接ble设备导致的连接后直接返回STATE_DISCONNECTED的解决办法---不错不错,重新连接需要花费很长的时间

    原文网址:http://bbs.eeworld.com.cn/thread-438571-1-1.html /*                         * 通过使用if(gatt==null ...

  4. 《A First Course in Probability》-chaper1-组合分析-方程整数解的个数

    在概率论问题中求解基本事件.某个事件的可能情况数要涉及到组合分析. 而这一部分主要涉及到简单的计数原理和二项式定理.多项式定理. 我们从一个简单的实例入手. 方程的整数解个数: Tom喜欢钓鱼,一直他 ...

  5. HTML全局属性

    属性 描述 accesskey 规定激活元素的快捷键. class 规定元素的一个或多个类名(引用样式表中的类). contenteditable 规定元素内容是否可编辑. contextmenu 规 ...

  6. 【转】Linux下查看所有用户及用户组

    groups 查看当前登录用户的组内成员groups gliethttp 查看gliethttp用户所在的组,以及组内成员whoami 查看当前登录用户名/etc/group文件包含所有组/etc/s ...

  7. 调查:Java程序员最亲睐的Web框架

    这是关于Java的第二个调查,第一个调查请点这里查看. 这一次,我们要讨论的是web框架. 只有少数几种语言像Java一样提供了各种各样的web框架,上面的统计图就是一个证据.下面是其他开发者所使用w ...

  8. 使用JAVA与SmartFoxServer来实现游戏服务器概述

    SmartFoxServer 是专门为Adobe Flash设计的跨平台socket服务器,让开发者高效地开发多人应用及游戏. 该服务器主要用来创建多玩家游戏.并提供强大的制作工具,各种回合制游戏和实 ...

  9. git如何clone所有的远程分支

    问题: 文/赖忠标 周末在家里改了下代码,新建了个angular版本的分支,然后push到coding.net上面了. 今天,到公司却不知道怎么拉取这个angular分支到公司的电脑上面.如下图(1) ...

  10. Linux一键安装PHP/JAVA环境OneinStack

    OneinStack 是一款PHP/JAVA环境一键配置工具.                         OneinStack包含以下组合   lnmp(Linux + Nginx+ MySQL ...