获取用户当前所在城市
打开京东,淘宝等网站会自动定位自己所在城市,如何实现呢? 下面介绍两种方案.
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
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": "北京市"};