百度地图定位
程序员文章站
2022-06-10 12:43:22
...
//设置城市:根据百度地图接口
function setCityToSession(n){
$.ajax({
url : "/getCity",
cache : false,
dataType : "json",
success : function(data) {
// 将商品数据加载到页面
if (data==""|| data==null) {
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(
function(p){
var latitude=p.coords.latitude;//获取坐标点纬度
var longitude=p.coords.longitude;//获取坐标点经度
//以指定的经度与纬度创建一个坐标点
var po=new BMap.Point(longitude,latitude);
//创建一个地理解析器
var geocoder=new BMap.Geocoder();
//获取位置
geocoder.getLocation(po,function(rs){
//获取地理组件
var addComp=rs.addressComponents;
//获取省份
var province=addComp.province;
//获取城市
var city=addComp.city;
//获取区县
var district=addComp.district;
//获取街道
var street=addComp.street;
//获取街道号
var streetNumber=addComp.streetNumber;
//$("p").append(province+city+district+street+streetNumber);//将获取到的信息输出到页面
$.ajax({
url : "/setCity",
cache : false,
dataType : "json",
data : {
city :city
},
success : function(data) {
}
});
});
},function(e){
/* switch (e.code) {
case e.TIMEOUT:
alert("定位失败,请求获取用户位置超时");
break;
case e.PERMISSION_DENIED:
alert("您拒绝了使用位置服务功能,查询已取消");
break;
case e.POSITION_UNAVAILABLE:
alert("抱歉,暂时无法为您所在的星球提供位置服务");
break;
case e.UNKNOWN_ERROR:
alert("发生一个位置错误");
break;
}*/
if(n==0){
setCityToSession(1);
}
},{
//指示浏览器获取高精度的位置,默认false
enableHighAcuracy: true,
//指定获取地理位置的超时时间,默认不限时,单位为毫秒
timeout:10000,
//最长有效期,在重复获取地理位置时,此参数指定多久再次获取位置
maximumAge:2000
}
);
}else{
//alert("不支持");
}
}
}
});
}
setCityToSession(0);
@RequestMapping("/getCity")
public void getCity(HttpServletRequest req, HttpServletResponse res){
try{
Object city=req.getSession().getAttribute(YygConstants.KEY_SESSION_CITY);
ResponseOutputUtils.renderJson(res, city);
}catch(Exception ex){
ResponseOutputUtils.renderJson(res, "");
logger.error(ex.getMessage(), ex);
}
}
@RequestMapping("/setCity")
public void setCity(HttpServletRequest req, HttpServletResponse res,String city){
try{
req.getSession().setAttribute(YygConstants.KEY_SESSION_CITY,city);
ResponseOutputUtils.renderJson(res, city);
}catch(Exception ex){
ResponseOutputUtils.renderJson(res, "");
logger.error(ex.getMessage(), ex);
}
}
转载于:https://my.oschina.net/u/1052192/blog/879316
上一篇: 回来字符串截取循环
下一篇: php获取客户端网卡mac物理地址