iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >html5中地理位置定位api接口开发应用
  • 520
分享到

html5中地理位置定位api接口开发应用

2024-04-02 19:04:59 520人浏览 安东尼
摘要

这篇文章主要介绍“HTML5中地理位置定位api接口开发应用”,在日常操作中,相信很多人在html5中地理位置定位api接口开发应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解

这篇文章主要介绍“HTML5中地理位置定位api接口开发应用”,在日常操作中,相信很多人在html5中地理位置定位api接口开发应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html5中地理位置定位api接口开发应用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!



地理位置获取流程
1、用户打开需要获取地理位置的WEB应用。
2、应用向浏览器请求地理位置,浏览器弹出询问,询问用户是否共享地理位置。
3、假设用户允许,浏览器从设别查询相关信息。
4、浏览器将相关信息发送到一个信任的位置服务器,服务器返回具体的地理位置。

HTML5地理地位的实现
1. 实现基于浏览器(无需后端支持)获取用户的地理位置技术
2. 精确定位用户的地理位置( 精度最高达10m之内,依赖设备 )
3. 持续追踪用户的地理位置
4. 与 Google Map、或者 Baidu Map 交互呈现位置信息

Geolocation API 用于将用户当前地理位置信息共享给信任的站点,这涉及用户的隐私安全问题,所以当一个站点需要获取用户的当前地理位置,浏览器会提示用户是“允许” or “拒绝”。
先看看哪些浏览器支持Geolocation API:
IE9.0+、FF3.5+、Safari5.0+、Chrome5.0+、Opera10.6+、IPhone3.0+、Android2.0+
Geolocation API存在于navigator对象中,只包含3个方法:

代码如下:


1、getCurrentPosition //当前位置
2、watchPosition //监视位置
3、clearWatch //清除监视
navigator.geolocation.getCurrentPosition( … , function(error){
switch(error.code){
case error.TIMEOUT :
alert( " 连接超时,请重试 " );
break;
case error.PERMISSION_DENIED :
alert( " 您拒绝了使用位置共享服务,查询已取消 " );
break;
case error.POSITION_UNAVAILABLE :
alert( " ,抱歉,暂时无法为您所在的星球提供位置服务 " );
break;
}
});


watchPosition像一个追踪器与clearWatch成对。
watchPosition与clearWatch有点像setInterval和clearInterval的工作方式。
var watchPositionId = navigator.geolocation.watchPosition(success_callback, error_callback, options);
navigator.geolocation.clearWatch(watchPositionId );

HTML 5提供了地理位置等一系列API可以给用户使用,方便用户制作LBS的地理应用,首先在支持HTML 5的浏览器中,当开启API时,会询问是否用户同意使用api,否则不会开启的,保证安全。
1、开启,判断是否浏览器支持LBS api

代码如下:


function isGeolocationAPIAvailable()
{
var location = "No, Geolocation is not supported by this browser.";
if (window.navigator.geolocation) {
location = "Yes, Geolocation is supported by this browser.";
}
alert(location);
}


上面的例子中,还在displayError方法中,捕捉了异常;
2、获得用户的地理位置
这个使用getCurrentPosition就可以了;

代码如下:


function requestPosition() {
if (nav == null) {
nav = window.navigator;
}
if (nav != null) {
var geoloc = nav.geolocation;
if (geoloc != null) {
geoloc.getCurrentPosition(successCallback);
}
else {
alert("Geolocation API is not supported in your browser");
}
}
else {
alert("Navigator is not found");
}
}


当获得地理位置成功后,会产生一个回调方法了,处理返回的结果,

代码如下:


function setLocation(val, e) {
document.getElementById(e).value = val;
}
function successCallback(position)
{
setLocation(position.coords.latitude, "latitude"); setLocation(position.coords.longitude, "longitude");
}


3、一个很常见的问题,是如何跟踪用户不断变化的地理位置,这里小结下其中用到的两个api
1 watchPosition
例子如下:

代码如下:


function listenForPositionUpdates() {
if (nav == null) {
nav = window.navigator;
}
if (nav != null) {
var geoloc = nav.geolocation;
if (geoloc != null) {
watchID = geoloc.watchPosition(successCallback);
} else {
alert("Geolocation API is not supported in your browser");
}
} else {
alert("Navigator is not found");
}
}


然后在successCallback中,就可以设置显示最新的地理位置:

代码如下:


function successCallback(position){
setText(position.coords.latitude, "latitude"); setText(position.coords.longitude, "longitude");
}


如果不希望实时跟踪,则可以取消之:
function clearWatch(watchID) {
window.navigator.geolocation.clearWatch(watchID);
}
4、如何处理异常
当遇到异常时,可以捕捉之:

代码如下:


if (geoloc != null) {
geoloc.getCurrentPosition(successCallback, errorCallback);
}
function errorCallback(error) {
var message = "";
switch (error.code) {
case error.PERMISSION_DENIED:
message = "This website does not have permission to use "
+ "the Geolocation API";
break;
case error.POSITION_UNAVAILABLE:
message = "The current position could not be determined.";
break;
case error.PERMISSION_DENIED_TIMEOUT:
message = "The current position could not be determined "
+ "within the specified timeout period.";
break;
}
if (message == "") {
var strErrorCode = error.code.toString();
message = "The position could not be determined due to "
+ "an unknown error (Code: " + strErrorCode + ").";
}
alert(message);
}


5、 在google 地图上显示位置(前提是有google map api等设置好)

代码如下:


function getCurrentLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showMyPosition,showError);
}
else
{
alert("No, Geolocation API is not supported by this browser.");
}
}
function showMyPosition(position)
{
var coordinates=position.coords.latitude+","+position.coords.longitude;
var map_url="Http://maps.googleapis.com/maps/api/staticmap?center="
+coordinates+"&zoom=14&size=300x300&sensor=false";
document.getElementById("googlemap").innerHTML="<img src='"+map_url+"' />";
}
function showError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
alert("This website does not have permission to use the Geolocation API")
break;
case error.POSITION_UNAVAILABLE:
alert("The current position could not be determined.")
break;
case error.TIMEOUT:
alert("The current position could not be determined within the specified time out period.")
break;
case error.UNKNOWN_ERROR:
alert("The position could not be determined due to an unknown error.")
break;
}
}

到此,关于“html5中地理位置定位api接口开发应用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: html5中地理位置定位api接口开发应用

本文链接: https://www.lsjlt.com/news/74804.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • html5中地理位置定位api接口开发应用
    这篇文章主要介绍“html5中地理位置定位api接口开发应用”,在日常操作中,相信很多人在html5中地理位置定位api接口开发应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • HTML5中Geolocation地理位置定位API怎么用
    这篇文章将为大家详细讲解有关HTML5中Geolocation地理位置定位API怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。基本用法 首先,我们可以从浏...
    99+
    2024-04-02
  • HTML5地理位置与LBS应用开发的方法
    这篇文章主要介绍“HTML5地理位置与LBS应用开发的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTML5地理位置与LBS应用开发的方法”文章能帮助大家解决...
    99+
    2024-04-02
  • HTML5中怎么使用地理位置实现定位功能
    本篇内容介绍了“HTML5中怎么使用地理位置实现定位功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我们...
    99+
    2024-04-02
  • 如何利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
    这期内容当中小编将会给大家带来有关如何利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文...
    99+
    2024-04-02
  • HTML5怎么使用地理定位
    本篇内容主要讲解“HTML5怎么使用地理定位”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5怎么使用地理定位”吧!     HTM...
    99+
    2024-04-02
  • 使用Flutter定位包获取地理位置
    目录Flutter 中获取地理位置先决条件使用 Flutter 定位包设置位置权限获取当前位置使用 Flutter 地理编码包设置获取地址常见的陷阱结论Flutter 中获取地理位置...
    99+
    2024-04-02
  • 如何使用HTML5实现获取地理位置信息并定位功能
    小编给大家分享一下如何使用HTML5实现获取地理位置信息并定位功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 代码如下: function getLocation(){ if (...
    99+
    2024-04-02
  • HTML5的地理位置功能怎么用
    这篇文章主要讲解了“HTML5的地理位置功能怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML5的地理位置功能怎么用”吧! 这是一个 HTML5...
    99+
    2024-04-02
  • 怎么使用Flutter定位包获取地理位置
    本篇内容介绍了“怎么使用Flutter定位包获取地理位置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Flutter 中获取地理位置如今,发...
    99+
    2023-06-21
  • HTML5中怎么获取地理位置信息
    HTML5中怎么获取地理位置信息,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如何使用HTML5地理位置定位功能定位功能(Geolocatio...
    99+
    2024-04-02
  • 怎么用html5代码获取地理位置
    这篇文章主要介绍“怎么用html5代码获取地理位置”,在日常操作中,相信很多人在怎么用html5代码获取地理位置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用html5...
    99+
    2024-04-02
  • html5如何实现获取用户地理定位
    这篇文章给大家分享的是有关html5如何实现获取用户地理定位的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。最近做的一个项目中有一个获取周围商户的功能,需要用到地理定位系统,于是便想到了用 h6 的地理定位,查阅了...
    99+
    2023-06-09
  • 如何利用HTML5中Geolocation获取地理位置调用
    这篇文章主要介绍如何利用HTML5中Geolocation获取地理位置调用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1.获取当前地理位置 调用方法 void getCurr...
    99+
    2024-04-02
  • HTML5中扩展地理信息服务及地理位置API的学习是怎样的
    HTML5中扩展地理信息服务及地理位置API的学习是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 现在比...
    99+
    2024-04-02
  • AngularJs如何利用百度地图API 定位当前位置获取地址信息
    这篇文章主要介绍AngularJs如何利用百度地图API 定位当前位置获取地址信息,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!第一、申请百度密钥  很简单的几步就搞定第二...
    99+
    2024-04-02
  • Html5中怎么利用Geolocation获取地理位置信息
    这期内容当中小编将会给大家带来有关Html5中怎么利用Geolocation获取地理位置信息,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Html5中提供了地理位置信息的...
    99+
    2024-04-02
  • 阿里云服务器api接口在哪个位置打开
    在本文中,我们将讨论如何使用阿里云服务器API接口在阿里云服务器上进行部署和操作。我们将使用API提供商的SDK来实现阿里云服务器的各种功能,包括网络访问、文件存储、数据库、消息队列、API Key、日志等。 网络访问 阿里云服务器A...
    99+
    2023-10-27
    阿里 接口 位置
  • 如何使用MongoDB开发一个基于地理位置的应用系统
    如何使用MongoDB开发一个基于地理位置的应用系统在当今互联网应用的发展中,越来越多的应用需要基于地理位置信息进行开发,例如附近的人、附近的商家等等。MongoDB作为一款非关系型数据库,具有丰富的地理位置支持,可以提供方便、高效的地理位...
    99+
    2023-10-22
    MongoDB 地理位置 应用系统
  • EMQX服务器的API接口使用介绍_完成上位机开发
    一、前言 在前面的两篇文章里分别介绍了再Windows和Ubuntu下利用EMQX搭建自己的私有MQTT服务器,实现设备上云。 这篇文章介绍如何利用EMQX提供的API接口,开发用户使用的上位机(我这里分别采用python 和 Qt 进行开...
    99+
    2023-12-23
    服务器 运维 EMQX
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作