首先我们要引入两个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地址,就会跳出如下界面:
这时说明你的服务没有问题可以访问了,然后手机自动弹出授权:
允许使用您当前的位置就可以了获取信息了,如果不允许授权有的信息可能就获取不了了。