首页 > 代码库 > js的定位实现和ip查询
js的定位实现和ip查询
sina的api
var GetLocationFromSina = function (successFunc, errorFunc) { $.getScript(‘http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js‘, function(result) { if (remote_ip_info.ret == ‘1‘) { var province = remote_ip_info.province; if (province == "北京" || province == "天津" || province == "上海" || province == "重庆") { province = province + "市"; } else { province = province + "省"; } var curCity = { id: ‘000000‘, name: province, date: curDateTime() }; //当前定位城市 $.cookie(‘VPIAO_PC_CURRENTCITY‘, JSON.stringify(curCity), { expires: 7, path: ‘/‘ }); successFunc(province); } else { var msg = "没有找到匹配的IP地址信息!"; var curCity = { id: ‘000001‘, name: ‘北京市‘, date: curDateTime() }; //默认城市 $.cookie(‘VPIAO_PC_DEFAULTCITY‘, JSON.stringify(curCity), { expires: 1, path: ‘/‘ }); if (errorFunc != undefined) errorFunc(msg); } });};
baidu的api
1 var getLocation = function (successFunc, errorFunc) { //successFunc获取定位成功回调函数,errorFunc获取定位失败回调 2 3 //首先设置默认城市 4 var defCity = { 5 id: ‘000001‘, 6 name: ‘北京市‘, 7 date: curDateTime() 8 }; 9 //默认城市 10 $.cookie(‘VPIAO_MOBILE_DEFAULTCITY‘, JSON.stringify(defCity), { expires: 1, path: ‘/‘ }); 11 12 if (navigator.geolocation) { 13 navigator.geolocation.getCurrentPosition(function (position) { 14 var lat = position.coords.latitude; 15 var lon = position.coords.longitude; 16 //var map = new BMap.Map("container"); // 创建Map实例 17 var point = new BMap.Point(lon, lat); // 创建点坐标 18 var gc = new BMap.Geocoder(); 19 gc.getLocation(point, function (rs) { 20 var addComp = rs.addressComponents; 21 var curCity = { 22 id: ‘‘, 23 name: addComp.province, 24 date: curDateTime() 25 }; 26 //当前定位城市 27 $.cookie(‘VPIAO_MOBILE_CURRENTCITY‘, JSON.stringify(curCity), { expires: 7, path: ‘/‘ }); 28 //alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street); 29 if (successFunc != undefined) 30 successFunc(addComp); 31 }); 32 }, 33 function (error) { 34 switch (error.code) { 35 case 1: 36 $.toptip("位置服务被拒绝。"); 37 break; 38 case 2: 39 $.toptip("暂时获取不到位置信息。"); 40 break; 41 case 3: 42 $.toptip("获取位置信息超时。"); 43 break; 44 default: 45 $.toptip("未知错误。"); 46 break; 47 } 48 var curCity = { 49 id: ‘000001‘, 50 name: ‘北京市‘, 51 date: curDateTime() 52 }; 53 //默认城市 54 $.cookie(‘VPIAO_MOBILE_DEFAULTCITY‘, JSON.stringify(curCity), { expires: 1, path: ‘/‘ }); 55 if (errorFunc != undefined) 56 errorFunc(error); 57 }, { timeout: 5000, enableHighAccuracy: true }); 58 } else { 59 $.toptip("你的浏览器不支持获取地理位置信息。"); 60 if (errorFunc != undefined) 61 errorFunc("你的浏览器不支持获取地理位置信息。"); 62 } 63 }; 64 var showPosition = function (position) { 65 var lat = position.coords.latitude; 66 var lon = position.coords.longitude; 67 //var map = new BMap.Map("container"); // 创建Map实例 68 var point = new BMap.Point(lon, lat); // 创建点坐标 69 var gc = new BMap.Geocoder(); 70 gc.getLocation(point, function (rs) { 71 var addComp = rs.addressComponents; 72 var curCity = { 73 id: ‘‘, 74 name: addComp.province, 75 date: curDateTime() 76 }; 77 //当前定位城市 78 $.cookie(‘VPIAO_MOBILE_CURRENTCITY‘, JSON.stringify(curCity), { expires: 7, path: ‘/‘ }); 79 //alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street); 80 }); 81 }; 82 var showPositionError = function (error) { 83 switch (error.code) { 84 case 1: 85 $.toptip("位置服务被拒绝。"); 86 break; 87 case 2: 88 $.toptip("暂时获取不到位置信息。"); 89 break; 90 case 3: 91 $.toptip("获取位置信息超时。"); 92 break; 93 default: 94 $.toptip("未知错误。"); 95 break; 96 } 97 var curCity = { 98 id: ‘000001‘, 99 name: ‘北京市‘,100 date: curDateTime()101 };102 //默认城市103 $.cookie(‘VPIAO_MOBILE_DEFAULTCITY‘, JSON.stringify(curCity), { expires: 1, path: ‘/‘ });104 };
页面调用
1 var localcurrent = function() { 2 var currcookie = $.cookie(‘VPIAO_PC_CURRENTCITY‘); 3 if (currcookie && currcookie != "") { 4 var currCity = JSON.parse(currcookie); 5 currentcity = currCity.name; 6 search(1); 7 } else { 8 GetLocationFromSina(function (p) { 9 var currcookie = $.cookie(‘VPIAO_PC_CURRENTCITY‘);10 if (currcookie && currcookie != "") {11 var currCity = JSON.parse(currcookie);12 currentcity = currCity.name;13 14 } else {15 currentcity = p;16 }17 search(1);18 }, function (error) {19 $.toptip(error);20 var defcookie = $.cookie(‘VPIAO_PC_DEFAULTCITY‘);21 if (defcookie && defcookie != "") {22 var defCity = JSON.parse(defcookie);23 currentcity = defCity.name;24 search(1);25 }26 });27 }28 };
ip查询
1 var GetClientIp = function () {2 var ip;3 var url = ‘http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=‘ + Math.random();4 $.getJSON(url, function (data) {5 ip = data.Ip;6 });7 return ip;8 }
js的定位实现和ip查询
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。