HTML5 Geolocation API (地理位置应用程序接口)获取地理位置

本文主要是介绍HTML5 Geolocation API (地理位置应用程序接口)获取地理位置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

HTML5 Geolocation API (地理位置应用程序接口)

目前PC浏览器支持情况:

Firefox 3.5+
Chrome 5.0+
Safari 5.0+
Opera 10.60+
Internet Explorer 9.0+

手机支持情况:

Android 2.0+
iPhone 3.0+
Opera Mobile 10.1+
Symbian (S60 3rd & 5th generation)
Blackberry OS 6
Maemo

检测浏览器是否支持:

 if (navigator.geolocation) {//console.log("浏览器支持!");
 }
else {// console.log("浏览器不支持!");}

navigator.geolocation用于获取基于浏览器的当前用户地理位置,提供了3个方法:

复制代码
void getCurrentPosition(onSuccess,onError,options);
//获取用户当前位置int watchCurrentPosition(onSuccess,onError,options);
//持续获取当前用户位置void clearWatch(watchId);
//watchId 为watchCurrentPosition返回的值
//取消监控
复制代码

onSuccess方法成功时调用的(必选),onError方法失败是调用的(可选),options其他参数(可选)

options:

options = {enableHighAccuracy,   //boolean 是否要求高精度的地理信息timeout,         //表示等待响应的最大时间,默认是0毫秒,表示无穷时间maximumAge        /应用程序的缓存时间
}

onsuccess方法中会返回position对象,通过这个对象可以获取地理位置的相关信息

 

复制代码
<!DOCTYPE html>  
<html>  
<head>  <meta charset="utf-8"/>  <title>基于浏览器的HTML5查找地理位置</title> <!-- 百度API --><script src="http://api.map.baidu.com/api?v=1.2" type="text/javascript"></script>  <script>function getLocation(){var options={enableHighAccuracy:true, maximumAge:1000}if(navigator.geolocation){//浏览器支持geolocation
                   navigator.geolocation.getCurrentPosition(onSuccess,onError,options);}else{//浏览器不支持geolocation
               }}//成功时function onSuccess(position){//返回用户位置//经度var longitude =position.coords.longitude;//纬度var latitude = position.coords.latitude;//使用百度地图API//创建地图实例  var map =new BMap.Map("container");//创建一个坐标var point =new BMap.Point(longitude,latitude);//地图初始化,设置中心点坐标和地图级别  
               map.centerAndZoom(point,15);}//失败时function onError(error){switch(error.code){case 1:alert("位置服务被拒绝");break;case 2:alert("暂时获取不到位置信息");break;case 3:alert("获取信息超时");break;case 4:alert("未知错误");break;}}window.onload=getLocation;</script>
</head>
<body><div id="container" style="width:600px;height:600px"></div>
</body>
</html>
复制代码

 

获取当前位置加上偏移量会准一点 

经度+经度校正值: 0.008774687519;
纬度+纬度校正值: 0.00374531687912;

这篇关于HTML5 Geolocation API (地理位置应用程序接口)获取地理位置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1043932

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

一分钟带你上手Python调用DeepSeek的API

《一分钟带你上手Python调用DeepSeek的API》最近DeepSeek非常火,作为一枚对前言技术非常关注的程序员来说,自然都想对接DeepSeek的API来体验一把,下面小编就来为大家介绍一下... 目录前言免费体验API-Key申请首次调用API基本概念最小单元推理模型智能体自定义界面总结前言最

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加