原标题:HTML5 地理定位

定位用户的位置

HTML5 Geolocation API 用于获得用户的地理位置。

鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。

浏览器支持

Internet Explorer 9、Firefox、Chrome、Safari 以及 Opera 支持地理定位。

注释:对于拥有 GPS 的设备,比如 iPhone,地理定位更加精确。

HTML5 - 使用地理定位

请使用 getCurrentPosition() 方法来获得用户的位置。

下例是一个简单的地理定位实例,可返回用户位置的经度和纬度。

实例<> 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 + "
Longitude: " + position.coords.longitude; } >

例子解释:

检测是否支持地理定位

如果支持,则运行 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=""; }

在上例中,我们使用返回的经纬度数据在谷歌地图中显示位置(使用静态图像)。

谷歌地图脚本实例

点击这个按钮,获得您的位置:

试一下

< src="http://maps.google.com/maps/api/js?sensor=false">>

<>

var x=document.getElementById("demo");

function getLocation()

{

if (navigator.geolocation)

{

navigator.geolocation.getCurrentPosition(showPosition,showError);

}

else{x.innerHTML="Geolocation is not supported by this browser.";}

}

function showPosition(position)

{

lat=position.coords.latitude;

lon=position.coords.longitude;

latlon=new google.maps.LatLng(lat, lon)

mapholder=document.getElementById('mapholder')

mapholder.style.height='250px';

mapholder.style.width='500px';

var myOptions={

center:latlon,zoom:14,

mapTypeId:google.maps.MapTypeId.ROADMAP,

mapTypeControl:false,

navigationControlOptions:{style:google.maps.NavigationControlStyle.SMALL}

};

var map=new google.maps.Map(document.getElementById("mapholder"),myOptions);

var marker=new google.maps.Marker({position:latlon,map:map,title:"You are here!"});

}

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;

}

}

>

上面的实例向您演示如何使用脚本来显示带有标记、缩放和拖曳选项的交互式地图。

给定位置的信息

案例:

更新本地信息

显示用户周围的兴趣点

交互式车载导航系统 (GPS)

getCurrentPosition() 方法 - 返回数据

若成功,则 getCurrentPosition() 方法返回对象。始终会返回 latitude、longitude 以及 accuracy 属性。如果可用,则会返回其他下面的属性。

Geolocation 对象 - 其他有趣的方法

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

clearWatch() - 停止 watchPosition() 方法

下面的例子展示 watchPosition() 方法。您需要一台精确的 GPS 设备来测试该例(比如 iPhone)

实例<> 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 + "
Longitude: " + position.coords.longitude; } >

更多内容,参考最模板网站()

百度一下,最模板。

责任编辑:

h5精准定位_HTML5 地理定位相关推荐

  1. 计算两个经纬度的距离_HTML5 地理定位+地图 API:计算用户到商家的距离

    51CTO官微 | THEFUTURE|技术成就梦想| 最近在做一个类似支付宝口碑商家的功能模块,其中有个功能就是计算出用户与商家的距离,如下图:支付宝口碑商家页面截图思路分析 1.商家选取店铺地址, ...

  2. 标准h5的定位_H5地理定位

    地理定位 您当前所在位置: 按钮 function getLocation() { //检查浏览器是否支持地理位置获取 if (navigator.geolocation) { //若支持地理位置获取 ...

  3. 3 地理位置定位_IP地理定位API的十大用途和应用

    地理定位是一个广泛的术语,指的是一种技术,这种技术允许企业精确定位任何与公司网络互动的个人的物理位置.它包含全球定位系统(GPS)和IP地址空间,本文主要分析后者. 实际上,任何行业都可以从地理定位中 ...

  4. H5地理定位、百度地图使用

    1,H5地理定位 window.navigator.geolocation 是H5新增的地理位置服务,有以下三个API: 1.1 获取当前地理位置(获取位置是属于异步操作,结果在回调函数中) navi ...

  5. h5精准定位_h5页面获取定位

    备注:页面必须在https下,并且用户选择拒绝授权,之后会一直返回用户拒绝授权,在浏览器中,只能清除位置信息 用到的服务 h5获取定位的api navigator.geolocation.getCur ...

  6. 【前端】【H5 API】地理定位(获取经纬度)

    H5 API 地理定位 地理定位在日常生活中应用比较广泛,例如,互联网打车.在线地图等.在HTML 5的规范中,增加了获取用户地理位置信息的接口Geolocation,开发者可以通过经纬度来获取用户的 ...

  7. H5新特性(三)——地理定位

    定位基础 常见的地理定位方法:IP定位,运营商基站定位,GPS定位 定位用户的位置:HTML5 Geolocation API 用于获得用户的地理位置. 鉴于该特性可能侵犯用户的隐私,除非用户同意,否 ...

  8. html定位的实例,H5案例分享:基于浏览器的HTML5地理定位

    基于浏览器的HTML5地理定位 地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用.今天这篇文章向大家介绍一下 HTML ...

  9. html5新特性 gps,老生常谈H5新特性:地理定位

    HTML5新特性 1.新的语义标签 2.表单2.0 3.视频和音频 4.Canvas绘图 5.SVG绘图 6.地理定位 7.拖放API 8.WebWorker 9.WebStorage 10.WebS ...

最新文章

  1. 2022-2028年中国工业固体废物综合利用行业深度调研及投资前景预测报告
  2. 实现一个正则表达式引擎in Python(二)
  3. c++中.dll与.lib文件的生成与使用的详解
  4. Angular的工作原理
  5. mysql5.6.13_MySQL-5.6.13解压版(zip版)安装配置教程
  6. Eclipse之Project facet Java version 1.8 is not supported.
  7. select、poll、epoll区别总结
  8. 企业在信息化建设上乘之选:软件快速开发框架
  9. python学生信息管理系统 实验报告_Python学生信息管理系统的开发
  10. 安装vc2005运行库错误1935c处理
  11. matlab仿真step模块讲解,Simulink仿真教程(最好)
  12. 网络安全之黑客入侵的步骤
  13. 如何给公司节约成本,搭建免费开源监控系统uptime-kuma
  14. LG化学成为海水淡化领域膜领导品牌后,大举进军苦咸水反渗透膜市场
  15. table制作课程表案例
  16. 什么是SKEY,怎样获取SKEY,SKEY的…
  17. JavaSE 8 离线API下载
  18. 论文翻译-Three Stream 3D CNN with SE Block for Micro- Expression Recognition
  19. import和export
  20. 虚拟机重启网络失败:Error:Failed to start LSB: Bring up/down networking的解决方法

热门文章

  1. SDN学习之旅-RYU笔记(2)
  2. R学习_multitaper包解析2:子函数spec.mtm.dpss,dpssHelper
  3. R学习_multitaper包解析1:子函数centre,dpss
  4. 如何在CentOS 5/6上安装EPEL源
  5. C语言32个关键字与C++62个关键字详解
  6. 最美的Linux中文版的吗,号称最美的Linux发行版——Elementary OS
  7. 【Leetcode】几种简单的排序算法
  8. [MATLAB学习笔记] global声明全部变量
  9. pyqt5中QWidget的show 一闪而过的原因及解决办法实例
  10. httos双向认证配置_HTTPS双向验证,如何设置