文档章节

手机网页定位当前城市

别寒
 别寒
发布于 2016/06/30 15:57
字数 413
阅读 69
收藏 3

js:

// 定位
function getLocation(){
	if($("#cityName").val().length>1){
		return;
	}
	if(navigator.geolocation){
	  navigator.geolocation.getCurrentPosition(showPosition);
	}else{
	 x.innerHTML="定位失败";
	 y.value="定位失败";
	 $("#span_city").html("定位失败");
	}
}
function showPosition(position){
	var lat = position.coords.latitude;
	var lng = position.coords.longitude;
	//gps定位
	$.get("${ctx}/homeAll/getCityByGps", {lat:lat,lng:lng}, function(data){
		data = data.trim();
		//gps定位失败
		if(data==""){
			//ip定位
			$.get("${ctx}/homeAll/getCityByIp",{},function(res){
				res = res.trim();
				if(res==""){
					//x.innerHTML="定位失败";
					//y.value="定位失败";
					$("#cityName").val("定位失败");
				}else{
					//ip定位成功
					$("#cityName").val(res);
				}
			});
		}else{
			//gps定位成功
			$("#cityName").val(data);
		}
    });
}

$(document).ready(function() {

    // 调用定位
    getLocation();
	
});

java:


	//根据IP获取城市
	@Action(value = "getCityByIp")
	public void getCityByIp() {
		
		String city = "";
		
		HttpServletResponse response = ServletActionContext.getResponse();
		response.setCharacterEncoding("UTF-8");
		// 以下代码从JSON.java中拷过来的
		response.setContentType("text/html");
		PrintWriter out = null;
		
		try {
			out = response.getWriter();
			
			String ip = request.getHeader("x-forwarded-for");
			if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
				ip = request.getHeader("Proxy-Client-IP");
			}
			if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
				ip = request.getHeader("WL-Proxy-Client-IP");
			}
			if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
				ip = request.getHeader("HTTP_CLIENT_IP");
			}
			if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
				ip = request.getHeader("HTTP_X_FORWARDED_FOR");
			}
			if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
				ip = request.getRemoteAddr();
			}
			
			//根据ip返回城市名称
			String ipUrl = IP_TAOBAO;
			ipUrl=ipUrl.replaceAll("#ip#", ip);
			String context = sendGet(ipUrl, null, "utf-8", true);
			
			Gson gson = new Gson();
			Json json = gson.fromJson(context, new TypeToken<Json>() {}.getType());
			
			if("0".equals(json.getCode())){
				city = json.getData().getCity();
				city = city.replaceAll("市", "");
			}
			out.println(city);
			
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
			out.println("");
		} finally{
			out.flush();
			out.close();
		}
	}
	
	//根据经纬度获取城市
	@Action(value = "getCityByGps")
	public void getCityByGps() {
		
		String city = "";
		
		HttpServletResponse response = ServletActionContext.getResponse();
		response.setCharacterEncoding("UTF-8");
		
		String lat = request.getParameter("lat");
		String lng = request.getParameter("lng");
		// 以下代码从JSON.java中拷过来的
		response.setContentType("text/html");
		PrintWriter out = null;
		
		try {
			out = response.getWriter();
			
			String url = API_MAP_BAIDU;
			String param = lat.substring(0,lat.indexOf(".")+6) + "," + lng.substring(0,lng.indexOf(".")+6);
			url=url.replaceAll("#location#", param);
			
			String xml = sendGet(url, null, "utf-8", true);
			
			logger.info(xml);
			
			JaxbUtil cityBinder = new JaxbUtil(GeocoderSearchResponse.class,  
		            CollectionWrapper.class);  
			GeocoderSearchResponse geo = cityBinder.fromXml(xml); 
			
			if("0".equals(geo.getStatus())){
				city = geo.getResult().get(0).getAddressComponent().get(0).getCity();
				city = city.replaceAll("市", "");
			}
			
			// 将要被返回到客户端的对象
			out.println(city);
			
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
			out.println("");
		} finally{
			out.flush();
			out.close();
		}
		
	}

© 著作权归作者所有

别寒
粉丝 30
博文 273
码字总数 155300
作品 0
永州
程序员
私信 提问
加载中

评论(1)

请认准官网唯一指定客服QQ:▓▓ 862674589 ▓▓
【业务范围】:
1.查询微信聊天记录/QQ聊天记录/陌陌聊天记录等
2.破解找回手机微信密码/手机QQ密码/陌陌的账号密码!
3.恢复已删除的微信聊天记录/QQ聊天记录/陌陌聊天记录!
4.查询手机历史通话记录!
5.查看手机历史短信内容!
6.恢复已被删除的信息!
7.查询酒店开房记录,监控定位跟踪找人!

专业做破解QQ密码查询,破解微信密码查询,,微信聊/天记录查询,QQ聊/天记录查询,微信记录删除与恢复,QQ记录删除与恢复,删除微信聊/天记录,删除QQ聊/天记录,开/房记录查询与删除,删除开/房记录,删除手机通话记录通话清单,查询手机通话记录,手机通话清单查看,删除手机短信内容,恢复删除短信内容,短信内容删除全国各种手机,婚外情调查,婚姻调查,家庭纠纷调查,情感调查,手机通话内容查询,定位找人,GP/S定位跟踪,微信聊/天记录查询,QQ聊/天记录查询,微信记录删除与恢复,QQ记录删除与恢复,删除微信聊/天记录,删除QQ聊/天记录,开/房记录查询与删除,删除开/房记录,删除手机通话记录通话清单,查询手机通话记录,手机通话清单查看,删除手机短信内容,恢复删除短信内容,短信内容删除全国各种手机,婚外情调查,婚姻调查,家庭纠纷调查,情感调查,手机通话内容查询,定位找人,GP/S定位跟踪,手机全面定位,陌陌密码查询,陌陌聊天记录查询,陌陌聊天记录查询,陌陌记录删除与恢复!
手机定位是指通过特定的定位技术来获取移动手 机或终端用户的位置信息(经纬度坐标),在电 子地图上标出被定位对象的位置的技术或服务。 定位技术有两种,一种是基于 GPS 的定位,一种 是基于移动运营网的基站的定位。基于GPS 的定 位方式是利用手机上的 GPS定位模块将自己的位 置信号发送到定位后台来实现手机定位的。基站 定位则是利用基站对手机的距离的测算距离来确 定手机位置的。后者不需要手机具有 GPS定位能 力,但是精度很大程度依赖于基站的分布及覆盖 范围的大小,误差会超过一公里。前者定位精度 较高。此外还有利用Wifi在小范围内定位方式。 ? 定位知识 第一、某些影视作品为了增加观赏度和悬念,错 误的将手机定位描述为必须通话一定时间才可定 位成功。而实际上,只需要被定位手机开机,根 本不用通话就可实施定位。 ? ? 第二、手机关机由
关于是用wifi定位当前位置坐标的一些问题?

大家好! 最近公司在讨论关于WIFI定位的可行性方案,向大家请教一些问题。 关于wifi定位,用的最多的应该就是手机了。那么,手机是如何通过wifi进行定位的呢? (GPS以及基站定位暂时不讨论哈...

zy_35
2016/05/31
498
6
一种用手机号码定位机主的理论方法

之前我们说到市面上出现一种“高科技设备”,可以采集到附近的手机号码,最后发现这设备其实一点也不“高科技”,就是一个Wi-Fi探针而已,真正神秘的地方在于其背后的“大数据”支撑,正是这...

又田
2018/10/25
0
0
Android WebView 中的 Html 网页定位操作

利用 HTML5 提供的定位 API 可以帮助网页获取用户设备的当前位置信息。但如果是在 Android 系统下的应用中打开网页,我们使用 Hybrid 开发模式时用到的 WebView 包括应用本身都需要做一定的设...

亦枫
2017/09/08
0
0
想找回丢在出租车的手机?你需要融合异构数据的城市级查询和推理

  大包小包地打车从火车站回家,却发现手机落在出租车上!   好不容易联系上司机,司机却说没找到!   这可怎么办?!      近日,阿里巴巴-浙江大学前沿技术联合研究中心发表了最...

天池大数据科研平台
2017/11/07
0
0
NodeBB配置项Bug修改完成列表

OK 用户不允许选择皮肤 OK 用户不允许选择首页 OK 用户不允许选择语言 OK 系统用白纸主题 OK 个人信息下拉菜单去掉“最佳、顶、踩” OK 导航栏不要出现搜索功能 OK 未读主题,需要筛选功能吗...

yeatsdai
2016/07/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Chrome OS 更新新版本可让Linux访问USB连接的Android设备

谷歌再次为Chrome OS带来了重大版本更新,使版本号达到了75。本次更新的一大亮点就是允许在Chrome OS上运行的Linux能够识别通过USB方式连接的Android设备,能够让用户使用Linux进行调试等等。...

linuxCool
昨天
9
0
聊聊feign的HystrixInvocationHandler

序 本文主要研究一下feign的HystrixInvocationHandler HystrixInvocationHandler feign-hystrix-10.2.3-sources.jar!/feign/hystrix/HystrixInvocationHandler.java final class HystrixInvo......

go4it
昨天
12
0
WPS 开启宏功能

前言 最近安装了个人版的WPS2019,使用Excel的宏功能时候发现不能使用了,网上下载了几个安装包都是比较旧的,不能使用。 找了个VB7.1的安装包,安装完了,重启WPS宏功能就可以使用了。 安装...

sharelocked
昨天
2
0
ZStack实践汇 | 高效开发测试打造产品化私有云

作者:许佳珺 前言 随着越来越多的企业将云计算产品应用到基础设施及其核心业务中,如何提高和保证软件交付质量、减少软件开发迭代周期、加速软件发布频率成为所有云厂商面临的关键问题。 根...

ZStack社区版
昨天
3
0
IPv4如何转换为IPv6?

导读 ipv6已经逐渐在应用,现在已经有很多的运营商支持ipv6,前天我们也发布了如何让电脑使用ipv6地址?有很多朋友在问?ipv6有什么作用,它的表示方式是什么,今天我们来一起来详细了解下ipv...

问题终结者
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部