[web]获取用户当前所在城市

获取用户当前所在城市

打开京东,淘宝等网站会自动定位自己所在城市,如何实现呢? 下面介绍两种方案.

image-20201127151201628

1. 引入百度地图api

方法如下:

1. 引入百度地图api

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=ak秘钥"></script>

2.在js文件中当前获取城市

            var map = new BMap.Map("container");
            var nowCity = new BMap.LocalCity();
            nowCity.get(bdGetPosition);
            function bdGetPosition(result){
            var cityName = result.name; //当前的城市名
         }
 var map = new BMap.Map("cart");

创建地址实例

 var nowCity = new BMap.LocalCity();

LocalCity这个类是利用用户IP地址去百度数据库里查询得到IP所在的城市

3.百度地图开放平台申请为百度地图开发者.申请自己的AK

image-20201127150936528

http://lbsyun.baidu.com/

4. 完整案例

<!doctype html> 
<html lang="en"> 
 <head> 
 <meta charset="UTF-8"> 
 <title>获取用户地理位置</title> 
 </head> 
 <body> 
 </body> 
</html> 
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=TMAo1SbfjxPGGobc7GgNmOZDfqmgq1b2"></script>
<script>
       var map = new BMap.Map("container");
            var nowCity = new BMap.LocalCity();
            nowCity.get(bdGetPosition);
            function bdGetPosition(result){
            var cityName = result.name; //当前的城市名
			console.log(cityName)
         }
</script>

2. 搜狐api

1.引入搜狐api

https://pv.sohu.com/cityjson?ie=utf-8

2.在js中获取当前城市

变量 returnCitySN 即是api的返回值返回的内容格式为json:

# 直接ajax解析json就可得到自己IP所在的城市位置
var returnCitySN = {"cip": "61.135.1.100", "cid": "110000", "cname": "北京市"};
更多交流,请加QQ:390351113.请备注好友来自博客园<IT自学吧>
原文地址:https://www.cnblogs.com/itzixueba/p/14048060.html