美文网首页
获取ip、lbs、经纬度、网络类型

获取ip、lbs、经纬度、网络类型

作者: chenjundi | 来源:发表于2019-01-31 16:00 被阅读0次

首先我们要引入两个js文件,这两个文件直接通过浏览器地址访问即可。

<script src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js"></script>
<script src="https://pv.sohu.com/cityjson?ie=utf-8"></script>

获取地理位置前手机会自动弹出授权按钮,为避免可能出现的问题我们要把执行的代码都置于window.onload = function () {}下。

获取ip、ip地区码
var IP = returnCitySN["cip"];
var IP_AREA_CODE = returnCitySN["cid"];
获取经度、纬度、lbs地区码
var LBS_LONG;
var LBS_LAT;
var LBS_AREA_CODE;
var geolocation = new qq.maps.Geolocation("HTIBZ-JNGW5-TXFIQ-Q45OI-2DN6T-Q7BSR", "ifsoft");
geolocation.getLocation(function (position) {
    LBS_LAT = position.lat;
    LBS_LONG = position.lng;
    LBS_AREA_CODE = position.adcode;
}, function () {
    console.log("定位失败")
}, {timeout: 8000});
获取网络类型
var NETTYPE = leixing();
function leixing() {
    var str = navigator.appVersion;
    var dee;
    var str2 = null;
    if ((str.indexOf("NetType/")) != -1) {
        dee = str.split(" ");
        for (var i = 0; i < dee.length; i++) {
            if (dee[i].indexOf("NetType/") != -1) {
                str2 = dee[i].substring(dee[i].indexOf("/") + 1, dee[i].length);
                console.log("网络类型:" + str2);
            }
        }
    } else {
        console.log("无法获取网络类型");
    }
    return str2;
}

由于先授权的原因,我们把需要获取的信息置于点击事件中触发。

document.getElementById("btn").onclick = function () {
    alert("ip:" + IP + "ip地区码:" + IP_AREA_CODE + "纬度:" + LBS_LAT + "经度:" + LBS_LONG + "lbs地区码:" + LBS_AREA_CODE + "网络类型:" + NETTYPE);
}

然后我们怎么通过手机访问呢?我们可以下载一个phpStudy的软件搭建一个服务器,网上百度直接一直下一步傻瓜式一键安装,接着启动这个软件,把我们写好的文件扔到WWW这个目录下。


打开控制台输入cmd进入命令行输入ipconfig,找到无线局域网下面的IPv4

特别注意:
1.保证手机和电脑在同一个网段,即连的同一个无线网;
2.保证电脑防火墙关闭。

然后在手机上输入刚才的IPv4地址,就会跳出如下界面:

这时说明你的服务没有问题可以访问了,然后手机自动弹出授权:

允许使用您当前的位置就可以了获取信息了,如果不允许授权有的信息可能就获取不了了。

相关文章

网友评论

      本文标题:获取ip、lbs、经纬度、网络类型

      本文链接:https://www.haomeiwen.com/subject/yrgksqtx.html