使用JS获取当前地理位置方法汇总
1.手机WEB定位方法:
var getLocation = function (successFunc, errorFunc) { //successFunc获取定位成功回调函数,errorFunc获取定位失败回调//首先设置默认城市var defCity = {id: '000001',name: '北京市',date: curDateTime()//获取当前时间方法};//默认城市$.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(defCity), { expires: 1, path: '/' });if (navigator.geolocation) {navigator.geolocation.getCurrentPosition(function (position) {var lat = position.coords.latitude;var lon = position.coords.longitude;//var map = new BMap.Map("container"); // 创建Map实例var point = new BMap.Point(lon, lat); // 创建点坐标var gc = new BMap.Geocoder();gc.getLocation(point, function (rs) {var addComp = rs.addressComponents;var curCity = {id: '',name: addComp.province,date: curDateTime()};//当前定位城市$.cookie('VPIAO_MOBILE_CURRENTCITY', JSON.stringify(curCity), { expires: 7, path: '/' });//alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street);if (successFunc != undefined)successFunc(addComp);});},function (error) {switch (error.code) {case 1:alert("位置服务被拒绝。");break;case 2:alert("暂时获取不到位置信息。");break;case 3:alert("获取位置信息超时。");break;default:alert("未知错误。");break;}var curCity = {id: '000001',name: '北京市',date: curDateTime()};//默认城市$.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(curCity), { expires: 1, path: '/' });if (errorFunc != undefined)errorFunc(error);}, { timeout: 5000, enableHighAccuracy: true });} else {alert("你的浏览器不支持获取地理位置信息。");if (errorFunc != undefined)errorFunc("你的浏览器不支持获取地理位置信息。");}
};
var showPosition = function (position) {var lat = position.coords.latitude;var lon = position.coords.longitude;//var map = new BMap.Map("container"); // 创建Map实例var point = new BMap.Point(lon, lat); // 创建点坐标var gc = new BMap.Geocoder();gc.getLocation(point, function (rs) {var addComp = rs.addressComponents;var curCity = {id: '',name: addComp.province,date: curDateTime()};//当前定位城市$.cookie('VPIAO_MOBILE_CURRENTCITY', JSON.stringify(curCity), { expires: 7, path: '/' });//alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street);});
};
var showPositionError = function (error) {switch (error.code) {case 1:alert("位置服务被拒绝。");break;case 2:alert("暂时获取不到位置信息。");break;case 3:alert("获取位置信息超时。");break;default:alert("未知错误。");break;}var curCity = {id: '000001',name: '北京市',date: curDateTime()};//默认城市$.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(curCity), { expires: 1, path: '/' });
};
前提要引入百度API:<script src="http://api.map.baidu.com/api?v=1.4" type="text/javascript"></script>
2.PC端通过IP实现方法:
采用腾讯提供的接口,这个目前已经不能使用了
<script type="text/javascript" src="http://fw.qq.com/ipaddress"></script>
<script type="text/javascript">document.write(IPData[0]); //显示IP地址document.write(IPData[2]); //显示省document.write(IPData[3]); //显示市
</script>
采用新浪接口: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
多地域测试方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=127.0.0.1
<script type="text/javascript">$.getScript('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js', function(_result) {if (remote_ip_info.ret == '1') {alert('国家:' + remote_ip_info.country + '<BR>省:' + remote_ip_info.province + '<BR>市:' + remote_ip_info.city + '<BR>区:' + remote_ip_info.district + '<BR>ISP:' + remote_ip_info.isp + '<BR>类型:' + remote_ip_info.type + '<BR>其他:' + remote_ip_info.desc);} else {alert('没有找到匹配的IP地址信息!');}});
</script>
网易有道IP地址接口(这个有待测试)
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=IP地址
淘宝请求接口(GET)
<script>
var ip = "124.127.108.133";var url = "http://ip.taobao.com/service/getIpInfo.php?ip=" + ip;$.getJSON(url, function (json) {var myprovince2 = json.data.area;var mycity2 = json.data.region;alert("您所在的城市是:" + myprovince2 + mycity2);});
</script>
太平洋IP地址库API接口
http://whois.pconline.com.cn/?ip=[ip地址字符串]
另外:还有google、搜狐等提供对应的接口,大家可以自己试一试。
搜狐IP地址查询接口(默认GBK):http://pv.sohu.com/cityjson
搜狐IP地址查询接口(可设置编码):http://pv.sohu.com/cityjson?ie=utf-8
搜狐另外的IP地址查询接口:http://txt.go.sohu.com/ip/soip
3.获取客户端IP方法
<script>
var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=' + Math.random();$.getJSON(url, function(data) {alert(data.Ip);});
</script>
转载连接:https://www.jb51.net/article/58654.htm
使用JS获取当前地理位置方法汇总相关推荐
- 【前端用法】html5实现地理位置定位(JS获取当前地理位置的方法)
本文目录 一.背景描述 二.实现方案 方案一 方案二 一.背景描述 目前在做公司的一个网站,有个需求是:当别人进入网站时自动定位他的地理位置,包括市区,方便给他推荐当前城市的特色信息. 其实,这也是一 ...
- 网页JS获取当前地理位置(省市区)
网页JS获取当前地理位置(省市区) 眼看2014又要过去了,翻翻今年的文章好像没有写几篇,忙真的或许已经不能成为借口了,在忙时间还是有的,就像海绵里的水挤挤总会有滴.真真的原因是没有学习过什么新的技术 ...
- 封装getByClass(JS获取class的方法封装为一个函数)
JS获取class的方法一: 普通版: <script type="text/javascript"> function getByClass(oParent, sCl ...
- js获取元素的方法与属性
js获取元素的方法 可以使用内置对象document上的getElementById方法来获取页面上设置了id属性的元素,获取到的是一个html对象,然后将它赋值给一个变量 <scripttyp ...
- js获取id后添加html代码,js获取Id的方法getElementById与$的由来和用Id判断元素是否存在及批量动态获取 Id...
要用js操作一个html元素必须获取到这个元素,而获取元素要用 getElementById() 方法,这个方法是通过元素的Id获取到元素这个对象.getElementById 字符比较多,写得比较长 ...
- 处理爬虫是返回setCookie的一段js获取acw_sc__v2的方法
处理爬虫是返回setCookie的一段js获取acw_sc__v2的方法 原文链接: setCookie JS反爬虫处理 处理代码 import requests import re import b ...
- js获取url 参数方法封装
js获取url 参数方法封装 // 获取url 参数getUrlParam(params) {let url = location.href;url = url.replace("?&quo ...
- IP获取方法一:网页JS获取当前地理位置(省市区)
眼看2021又要过去了,通过各大搜索引擎发现手机端定位都是通过浏览器的定位,而用在PC端浏览器第一次会弹出提示"是否开启定位功能", 1.手机WEB定位方法: 1 2 3 4 5 ...
- python获取word页数_用程序获取word页码方法汇总
## 背景说明 最近参与了一个档案管理系统,使用java开发,部署在centos,其中的一个功能需要获取到word文件准确的页码,现在将尝试过的方法汇总如下: Apache POI 由于系统是jav ...
- js获取对象的方法,根据id、根据name、根据标签名、根据类名
正文 下面的代码中展示了常用的js获取html对象的方法,并且添加了详细的注释说明.快来看看吧. // 页面加载完毕以后再执行window.onload=function(){//1.根据id获取对象 ...
最新文章
- char类型怎么输入 c语言_还没搞懂C语言指针?这里有最详细的纯干货讲解(附代码)...
- Verilog HDL 使用规范(一)
- 业务逻辑写在存储过程好还是后端好_后端两小时,前端一星期!你只是一个写接口的工程师吗?...
- 图解Hadoop hdfs写数据流程
- 计算机在管理会计中的应用毕业论文,计算机在管理会计中的应用写毕业论文用的,帮帮找..._中级会计职称_帮考网...
- SAP Spartacus MyCompany菜单里Org unit的Add按钮Accessibility问题初始分析
- c语言规定在一个源程序中main函数的位置是什么?
- MySQL中序列的作用_MySql中序列的应用和总结
- 计算机通信事业单位专业知识点,事业单位计算机专业知识招考大纲
- 判断一个整数是不是回文
- 退出myeclipse 8.5配置中心
- Panic and Recover
- 一阶微分方程的物理意义_微分方程和积分方程有哪些典型的物理意义?实际中哪个更常用?...
- c++---------虚函数及继承(一)
- 三峡学院计算机调剂,2018年重庆三峡学院考研预调剂公告
- k8s 安装 elasticsearch(ECK)
- xcode更新一直失败的解决办法
- awg线径与电流_AWG_线径电流
- python 发布文章,使用Python自动化发布文章:(一)
- 抖音火爆的微信早安推送在线版,无需搭建代码,简单配置即可给心爱的他/她定时推送消息了
热门文章
- 计算机显示器电源原理,ATX电源的工作原理
- Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper.........[已解决]
- 网页游戏打击感实施要点
- matlab模拟滤波器频率响应,怎样求FIR滤波器在任意频率上的频率响应?
- 用计算机和电视机组成家庭影院,家庭影院怎么连接电脑_家庭影院连接电脑详解【图文】-太平洋IT百科...
- 一个封锁操作被对wsacancelblockingcall_突破封锁再进一步,华为鸿蒙OS成功登上手机...
- linux系统下使用uTorrent下载ipv6资源
- STM32L0外接32768HZ晶振应该接多大的负载电容才合适
- 平行四边形背景的制作
- Android手机定位案例代码