h5 获取定位

Posted 奔跑的葛根

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了h5 获取定位相关的知识,希望对你有一定的参考价值。

h5 获取地理位 -模糊

<script src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js"></script>
<script>
    var city = remote_ip_info[city];
    alert(city);
</script>


h5 获取地理位 -谷歌精准地位  需要客户允许定位

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>

<body>
<div id="google_geo"></div>
<script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>

<script>
getLocation();
function getLocation(){ 
if (navigator.geolocation){ 
navigator.geolocation.getCurrentPosition(showPosition,showError); 
}else{ 
alert("浏览器不支持地理定位。"); 
} 
} 
/*

function showPosition(position){ 
var lat = position.coords.latitude; //纬度 
var lag = position.coords.longitude; //经度 
alert(‘纬度:‘+lat+‘,经度:‘+lag); 
} 



*/    




function showError(error){ 
    switch(error.code) { 
    case error.PERMISSION_DENIED: 
    alert("定位失败,用户拒绝请求地理定位"); 
    break; 
    case error.POSITION_UNAVAILABLE: 
    alert("定位失败,位置信息是不可用"); 
    break; 
    case error.TIMEOUT: 
    alert("定位失败,请求获取用户位置超时"); 
    break; 
    case error.UNKNOWN_ERROR: 
    alert("定位失败,定位系统失效"); 
    break; 
} 
} 

function showPosition(position){ 
var latlon = position.coords.latitude+,+position.coords.longitude; 

//google 
var url = http://maps.google.cn/maps/api/geocode/json?latlng=+latlon+&language=CN; 
$.ajax({ 
type: "GET",
url: url, 
beforeSend: function(){
$("#google_geo").html(正在定位...); 
}, 
success: function (json) { 
if(json.status==OK){ 
var results = json.results; 
$.each(results,function(index,array){ 
if(index==0){ 
    if(array[formatted_address].indexOf("淄博市")>=0) {
         alert("淄博的");
    }else{
        alert("其他地区的");
    }
   $("#google_geo").html(array[formatted_address]); 
} 
}); 
} 
}, 
error: function (XMLHttpRequest, textStatus, errorThrown) { 
$("#google_geo").html(latlon+"地址位置获取失败"); 
} 
}); 
}     
    
</script>
</body>
</html>


百度精确定位


function showPosition(position){ 
var latlon = position.coords.latitude+‘,‘+position.coords.longitude; 

//baidu 
var url = "<a href="http://api.map.baidu.com/geocoder/v2/?ak=C93b5178d7a8ebdb830b9b557abce78b&callback=renderReverse&location="+latlon+"&output=json&pois=0">http://api.map.baidu.com/geocoder/v2/?ak=C93b5178d7a8ebdb830b9b557abce78b&callback=renderReverse&location="+latlon+"&output=json&pois=0</a>"; 
$.ajax({ 
type: "GET", 
dataType: "jsonp", 
url: url, 
beforeSend: function(){ 
$("#baidu_geo").html(‘正在定位...‘); 
}, 
success: function (json) { 
if(json.status==0){ 
$("#baidu_geo").html(json.result.formatted_address); 
} 
}, 
error: function (XMLHttpRequest, textStatus, errorThrown) { 
$("#baidu_geo").html(latlon+"地址位置获取失败"); 
} 
}); 
}); 

 

以上是关于h5 获取定位的主要内容,如果未能解决你的问题,请参考以下文章

h5 获取定位

利用H5构建地图和获取定位地点

H5获取定位后转为百度地图坐标

h5怎么获取页面的session

H5地理定位获取用户当前位置城市

H5 使用地理位置定位