欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

百度地图定位

程序员文章站 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