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+"地址位置获取失败"); 
} 
}); 
}); 
复制代码

 

posted on   奔跑的葛根  阅读(2944)  评论(0编辑  收藏  举报

编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· 开发者新选择:用DeepSeek实现Cursor级智能编程的免费方案
· 【译】.NET 升级助手现在支持升级到集中式包管理
· 独立开发经验谈:如何通过 Docker 让潜在客户快速体验你的系统
· Tinyfox 发生重大改版
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

导航

统计

点击右上角即可分享
微信分享提示