html5定位getLocation()
HTML5 Geolocation API 用于获得用户的地理位置。
如果用户不允许定位,那么用户信息是不可用的。
获取用户的位置:getCurrentPosition() 返回数据如下
返回用户当前位置: watchPosition()
返回用户的当前位置,并继续返回用户移动时的更新位置。也可使用setinterval()自定义时间执行一次定位函数。
clearWatch()用于停止 watchPosition() 方法
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的key"></script>
<title>定位</title>
</head>
<body>
<h1>Html5定位</h1>
<p id="longitude"></p><!-- 经度值 -->
<p id="latitude"></p><!-- 纬度值 -->
<p id="accuracy"></p><!-- 误差值 -->
<!--<input type="button" value="创建地图" onclick="creatMap()">-->
<div style="width:370px;height:550px;border:#ccc solid 1px;" id="dituContent"></div><!-- 地图容器 -->
<script src="jquery-1.11.3.js"></script>
<script>
//如果支持,获取位置信息
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(
//locationSuccess
function(position){
showPosition(position);//显示经纬度值
creatMap();//创建地图
},
//locationError
function(error){
var errorType = ['您拒绝共享位置信息', '获取不到位置信息', '获取位置信息超时'];
alert(errorType[error.code - 1]);
}
);
navigator.geolocation.watchPosition(showPosition);
}else{
//document.getElementById('geo_loc').innerHTML="您的浏览器不支持地图定位";
$('#geo_loc').html("您的浏览器不支持地图定位")
}
function showPosition(position){
//在页面上显示经纬度(此处显示的是getLocation获得的经纬度值)
$('#longitude').html(position.coords.longitude)
$('#latitude').html(position.coords.latitude)
//显示误差值
$('#accuracy').html("误差"+position.coords.accuracy)
}
function creatMap(){
var localLongitude = $('#longitude').text();//getLocation得到的经纬度值
var localLatitude = $('#latitude').text();
//根据getLocation得到的经纬度坐标直接创建地图,有很大误差,需要转换为百度的经纬度坐标。
//请求百度接口转换坐标
var newpoit = 'http://api.map.baidu.com/geoconv/v1/?coords='+localLongitude+','+localLatitude+'&from=1&to=5&ak=你的key';
$.ajax({
type:"POST",
async:false,
url:newpoit,
dataType:"jsonp",
success:function(data){
if(parseInt(data.status)==0){//请求成功
$.each(data.result,function(i,item){
//获转换后的经纬度
var baiduLongitude = item.x;
var baiduLatitude = item.y;
//创建地图
var map = new BMap.Map("dituContent");
map.centerAndZoom(new BMap.Point(baiduLongitude,baiduLatitude),15);
map.enableScrollWheelZoom(true);
var new_point = new BMap.Point(baiduLongitude,baiduLatitude);
var marker = new BMap.Marker(new_point); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
map.panTo(new_point);
})
}
},
error:function(e){ }
})
}
</script>
</body>
</html>
html5定位getLocation()的更多相关文章
- 利用HTML5定位功能,实现在百度地图上定位
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 利用HTML5定位功能,实现在百度地图上定位(转)
原文:利用HTML5定位功能,实现在百度地图上定位 代码如下: 测试浏览器:ie11定位成功率100%,Safari定位成功率97%,(add by zhj :在手机上测试(用微信内置浏览器打开),无 ...
- HTML5定位使用心得
最近项目中接到一个需求,需要使用百度地图API和HTML5定位特性. 对于百度地图API,没啥好说的,刨它的API就是了. 今天想说说JS定位特性. 浏览器支持 Internet Explorer 9 ...
- HTML5定位功能,实现在百度地图上定位
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- html5定位并在百度地图上显示
在开发移动端 web 或者webapp时,使用百度地图 API 的过程中,经常需要通过手机定位获取当前位置并在地图上居中显示出来,这就需要用到html5的地理定位功能. navigator.geolo ...
- html5 定位
需要实现的功能:移动端的网页,能定位到中文地址. 百度地图能实现这样的功能. 之前精度差得原因是,我用自己的mac做服务器,用手机来浏览定位,这样只能定位到mac 的地址,mac上浏览器的地址就没准了 ...
- html5定位获取当前位置并在百度地图上显示
用html5的地理定位功能通过手机定位获取当前位置并在地图上居中显示出来,下面是百度地图API的使用过程,有需要的朋友可以参考下 在开发移动端 web 或者webapp时,使用百度地图 API 的过程 ...
- html5 定位 获得当前位置的经纬度
if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition, showError, { // ...
- HTML5地理定位(已知经纬度,计算两个坐标点之间的距离)
事实上,地球上任意两个坐标点在地平线上的距离并不是直线,而是球面的弧线. 下面介绍如何利用正矢公式计算已知经纬度数据的两个坐标点之间的距离.半正矢公式也成为Haversine公式,它最早时航海学中的重 ...
随机推荐
- 【Java学习系列】第2课--Java语法及面向对象
本文地址 分享提纲: 1. Java程序特点 1.1 基本语法 1.2 字符串 1.3 变量 1.4 Java数组 1.5 Java枚举 1.6 Java修饰符 1.7 Java编译制定在制定目录 2 ...
- 提交本地项目到github服务器
已经完成的本地项目 提交到github 并不是按照先在github上创建一个仓库 然后clone下来的顺序 1.在github上创建仓库 2.在本地项目初始化git仓库 $ git init 3.添加 ...
- STSDB、NDataBase 对象数据库在不同.net framework下无法读取的解决办法
STSDB.NDataBase 等对象数据库将对象保存在文件中后,如果在不同的windows平台.不同的.net frameWork下总是无法读取,原因是对象模式已经不同了. 解决的办法也很简单,就是 ...
- 在 CentOS7 上部署 MySQL 主从
在 CentOS7 上部署 MySQL 主从 通过 SecureCRT 连接至 MySQL 主服务器: 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般 ...
- 使用gulp解决RequireJS项目前端缓存问题(一)
1.前言 前端缓存一直是个令人头疼的问题,你有可能见过下面博客园首页的资源文件链接: 有没有发现文件名后面有一串不规则的东东,没错,这就是运用缓存机制,我们今天研究的就是这种东西. 先堵为快,猛戳链接 ...
- 关于WCF报错之调用方未由服务器进行身份验证
在我们部署好WCF服务以后,调用WCF服务会出现”调用方未由服务器进行身份验证”的错误.这个错误是怎么造成的呢? 通常我们在创建WCF后,用本机调试,一切正常,没有任何问题.其实用本机测试的时候,服务 ...
- Javascript——arguments的shift问题谈方法“借用”
今天本来运行了打算这样的方法 arguments.shift() (shift方法是删除数组的第一个元素,例如var arr=[1,2,3,4,5]执行var a=arr.shift();之后,a的值 ...
- Oracle学习笔记九 数据库对象
Oracle 数据库对象又称模式对象,数据库对象是逻辑结构的集合,最基本的数据库对象是表. 其他数据库对象包括:
- 安装KVM及虚拟机
创建lvm 安装kvm相关的包 需要安装的包 安 ...
- 如何利用报表工具FineReport实现报表列的动态展示
相信动态列的实现困扰了很多人,大数据量,多字段的加载将会非常耗时,数据又做不到真正的动态灵活.现有的方式都是通过变向的隐藏等方式来实现. 那该如何解决呢?这里分享帆软报表设计器FineReport的实 ...