在谷歌地图上显示您的位置
HTML5 Geolocation(地理定位)用于定位用户的位置。
亲自试一试:在谷歌地图上显示您的位置
定位用户的位置
www.binblog.cn
HTML5 Geolocation API 用于获得用户的地理位置。
鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。
浏览器支持
Internet Explorer 9、Firefox、Chrome、Safari 以及 Opera 支持地理定位。
注释:对于拥有 GPS 的设备,比如 iPhone,地理定位更加精确。
HTML5 - 使用地理定位
请使用 getCurrentPosition() 方法来获得用户的位置。
下例是一个简单的地理定位实例,可返回用户位置的经度和纬度。
实例
<script>
var x=document.getElementById("demo");
function getLocation(){if (navigator.geolocation){navigator.geolocation.getCurrentPosition(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;}
</script>
例子解释:
- 检测是否支持地理定位
- 如果支持,则运行 getCurrentPosition() 方法。如果不支持,则向用户显示一段消息。
- 如果getCurrentPosition()运行成功,则向参数showPosition中规定的函数返回一个coordinates对象
- showPosition() 函数获得并显示经度和纬度
上面的例子是一个非常基础的地理定位脚本,不含错误处理。
处理错误和拒绝
getCurrentPosition() 方法的第二个参数用于处理错误。它规定当获取用户位置失败时运行的函数:
实例
function showError(error){switch(error.code){case error.PERMISSION_DENIED:x.innerHTML="User denied the request for Geolocation."break;case error.POSITION_UNAVAILABLE:x.innerHTML="Location information is unavailable."break;case error.TIMEOUT:x.innerHTML="The request to get user location timed out."break;case error.UNKNOWN_ERROR:x.innerHTML="An unknown error occurred."break;}}
错误代码:
- Permission denied - 用户不允许地理定位
- Position unavailable - 无法获取当前位置
- Timeout - 操作超时
在地图中显示结果
如需在地图中显示结果,您需要访问可使用经纬度的地图服务,比如谷歌地图或百度地图:
实例
function showPosition(position) { var latlon=position.coords.latitude+","+position.coords.longitude;var img_url="http://maps.googleapis.com/maps/api/staticmap?center=" +latlon+"&zoom=14&size=400x300&sensor=false";document.getElementById("mapholder").innerHTML="<img src='"+img_url+"' />"; }
在上例中,我们使用返回的经纬度数据在谷歌地图中显示位置(使用静态图像)。
谷歌地图脚本
上面的链接向您演示如何使用脚本来显示带有标记、缩放和拖曳选项的交互式地图。
给定位置的信息
本页演示的是如何在地图上显示用户的位置。不过,地理定位对于给定位置的信息同样很有用处。
案例:
- 更新本地信息
- 显示用户周围的兴趣点
- 交互式车载导航系统 (GPS)
getCurrentPosition() 方法 - 返回数据
若成功,则 getCurrentPosition() 方法返回对象。始终会返回 latitude、longitude 以及 accuracy 属性。如果可用,则会返回其他下面的属性。
属性 | 描述 |
---|---|
coords.latitude | 十进制数的纬度 |
coords.longitude | 十进制数的经度 |
coords.accuracy | 位置精度 |
coords.altitude | 海拔,海平面以上以米计 |
coords.altitudeAccuracy | 位置的海拔精度 |
coords.heading | 方向,从正北开始以度计 |
coords.speed | 速度,以米/每秒计 |
timestamp | 响应的日期/时间 |
Geolocation 对象 - 其他有趣的方法
watchPosition() - 返回用户的当前位置,并继续返回用户移动时的更新位置(就像汽车上的 GPS)。
clearWatch() - 停止 watchPosition() 方法
下面的例子展示 watchPosition() 方法。您需要一台精确的 GPS 设备来测试该例(比如 iPhone):
实例
<script>
var x=document.getElementById("demo");
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;}
</script>
在谷歌地图上显示您的位置相关推荐
- 谷歌付费 php是什么区,谷歌地图上显示地区的详细信息
谷歌地图上显示地区的详细信息 最近在做有关谷歌地图的项目,需要鼠标放到在谷歌地图上标注的地点的详细信息(即当鼠标放上去时弹出显示该地区的详细信息) var map; // Global declara ...
- 门店定位怎么在地图上显示_门店位置如何显示在地图上?
随着科技的发展,智能手机的普及,如今不管在哪里只要有一个手机在手基本就不会迷路,通过手机地图寻找位置非常方便,及时比较偏的地方也可以通过地图去找到,那么对于门店商家而言,如何将自己的门店显示在地图上呢 ...
- html5获取我的位置并在百度地图上显示
html5获取我的位置并在百度地图上显示 一.前言 二.在线演示和GitHub源码 一.前言 最近有兴趣研究了下移动端的地图api,发现其实挺简单的,HTML5也提供了地理位置API:Geolocat ...
- html5 微信获取当前位置,「微信小程序」实现获取当前位置并在地图上显示
盆一框发互会理工.择各近些架现跳轻机审蓝器友圈最近真是被微信小程序这货刷爆了,哪那都是它,作为一个喜欢尝(作)鲜(死)的前端汪来说,我肯定不会轻易放弃这么好的尝试机会,嘛溜的,先搭好环境压压惊分博累发 ...
- android高德显示指定位置,高德地图开发(二)地图上显示指定位置
我们在用地图软件搜索的时候,搜索结果会在地图上以红点显示,现在我们来实现一个在地图上显示指定位置的程序,先看效果图. 要实现这么个功能,首先要能将地图视图中心移动到以指定位置:还有在指定位置绘制一个点 ...
- (百度地图)输入地址显示经纬度并且在地图上显示具体位置
输入地址显示经纬度并且在地图上显示具体位置 博主比较懒,不过多描述,直接上代码,通俗易懂,哈哈哈哈哈哈 引入百度地图<script type="text/javascript" ...
- 高德地图开发(二)地图上显示指定位置
我们在用地图软件搜索的时候,搜索结果会在地图上以红点显示,现在我们来实现一个在地图上显示指定位置的程序,先看效果图. 要实现这么个功能,首先要能将地图视图中心移动到以指定位置:还有在指定位置绘制一个点 ...
- 如何在谷歌地图上绘制矢量道路线并导出为图片
概述 水经注软件除了可以对百度坐标与火星坐标进行纠偏,下载陆地及海洋高程.提取10米等高线等深线.CASS高程点,下载含高度的全国矢量建筑.全国乡镇及街区行政区划.地名点.高速铁路网.公交路线.水系. ...
- 谷歌地图拼接软件_谷歌地图上又有新发现?出现两个长条弧状物体,颜色一白和一黑...
趣味探索讯 在21世纪今天,手机已经成为了很多人的生活"必需品",在无比拥挤的地铁上,在摇摇晃晃的公交里,在垂涎欲滴的餐桌前,在舒适柔软的床上,都可以看到手机的身影,似乎没了它,一 ...
最新文章
- 2018:数据科学20个最好的Python库
- Android SDK Manager国内下载缓慢的问题
- OpenCV saturate_cast<uchar>函数用法(饱和剔除)(像素限制、溢出滤除、像素设限、防溢出)
- 唯一标识 微信小程序_微信小程序获取用户唯一标识(不用授权)
- ReflectionClass与Closure
- kali安装docker(有效详细的教程)
- Nodejs学习笔记(七)——接口API
- day3 java的运算符及其注意问题
- redis实例python_使用python操作redis(管道)
- 强化学习算法在京东广告序列推荐场景的应用实践
- 2019-07-10
- Python基础教程笔记——列表和元组
- java web教程下载_Java Web云应用开发项目式教程 中文pdf扫描版[208MB]
- 一、Python复习教程(重点)- 基础
- lesson 4 introductions
- Hexo博客使用 Next主题 后的一些相关配置 记录
- iOS系统语音播报文字
- 洛谷 P2123 皇后游戏(贪心)
- GIF动态图制作工具(免费),附教程
- 主视图和左视图算体积最大最小值