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

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

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

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

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

<button οnclick="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的功能确实很强大,但是并不是万能的,当然还是存在着一定的问题,所以在学习的时候进行有选择的吸收。

转载于:https://www.cnblogs.com/lanveer/p/4084199.html

html5 的百度地图连接相关推荐

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

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

  2. 百度地图mysql打点_关于百度地图连接MYSQL的问题,谢谢啦!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 大家好,刚使用百度地图API,请教大家一个问题,谢啦! 我需要从我的数据库中取出字段为"city"的所有数据,然后通过bdGEO()函 ...

  3. HTML5接入百度地图并搜索定位

    首先我们得去百度那里注册一下,拥有自己的Appkey,连接:http://lbsyun.baidu.com/ 也可以使用别人的,当然最好还是自己去注册比较好. 第二步,在你自己的网页中引入: 下面直接 ...

  4. html5手机百度地图js,移动端js调用百度地图的问题

    web端调用百度地图的时候,移动端浏览, 点击地图中的任意一个地标不是显示详情,但是在pc端是可以显示的. body, html {width: 100%;height: 100%;margin:0; ...

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

    //$ak=2051409c59b8d558c7e6bbd0c5c62ffd body, html,#allmap {width: 100%;height: 100%;overflow: hidden ...

  6. android 调用百度地图规划,Android 调用百度地图API

    一.到 百度地图开发平台下载SDK 1.点击自定义下载 2.下载自己想要的功能包我这里选了三个 3.获取密钥 获取密钥之前我们要新建一个应用 填写好相关的信息 二. 新建一个项目工程 1. 把下载好的 ...

  7. c语言api获取百度地图,H5调用百度地图API获取地理位置

    //获取当前位置 var geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition(function(r){ alert ...

  8. android h5调用百度地图,h5页面如何调用百度地图获取当前位置(代码)

    本篇文章给大家带来的内容是关于h5页面如何调用百度地图获取当前位置(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在项目中越来越多的用到了手机的GRS定位功能,使用百度地图A ...

  9. html 高德地图坐标,百度地图,高德地图,HTML5经纬度比较

    对于一个地点的经纬度,是确定的?这个问题,我想很多人都会回答,肯定了,可实际上呢?我只能呵呵了. 在使用百度地图的过程中,发现一个很奇怪的现象,有时候调用百度地图js API时,后得到一个错的离谱的地 ...

最新文章

  1. iter迭代器的应用
  2. 干货|十大产业方向深度解析!《2020科技产业趋势报告》
  3. #2002 Cannot log in to the MySQL server, PHPMyAdmin/MySQL
  4. JWT 应该保存在哪里?
  5. 英伟达jetson TX1的caffe-ssd配置
  6. 操作系统--处理机调度
  7. Java学习笔记三——数据类型
  8. oracle体系结构图
  9. 记录一下所了解的一些第三开源框架
  10. 17.卷2(进程间通信)---后记
  11. 中级工程师基础SQL试题
  12. Python爬虫之headers和data的获取
  13. BusHound详细使用说明
  14. django-数据库[ 配置 ]
  15. HBuilder(H5+App)中集成腾讯云通信IM功能
  16. linux原生运行微信客户端,巧用 Docker 在 Linux 下 运行微信 PC 客户端
  17. 群辉docker安装树莓派镜像_群晖 Docker 安装 AriaNg+File Browser
  18. CodeForces 332B Maximum Absurdity
  19. 微信公众号python_wechat: 微信 Python SDK,支持微信公众号以及企业号的上行消息及 OAuth 接口...
  20. 金仓数据库KingbaseES运维工具参考手册(5. 辅助运维工具)

热门文章

  1. oracle正则匹配全部,sql – 返回Oracle中正则表达式的所有匹配项
  2. uva 1433——Garlands
  3. 不进行格式化将U盘快速转换为NTFS格式
  4. 系统I/O小程序-文件拷贝
  5. C++ 菱形虚继承 通过指针来寻找继承过来的成员变量
  6. Linux下的重要目录
  7. open、read、write、文件类型
  8. 【算法】学习笔记(5):快速排序
  9. 使用thinkPHP做注册程序的实例
  10. Springboot集成BeanValidation扩展一:错误提示信息加公共模板