百度地圖定位

//設置城市:根據百度地圖接口
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);
		}
	}
相關文章
相關標籤/搜索