随着国内各大品牌门户网站纷纷推出地图服务,如搜狗地图,百度地图、网易地图等,地图的应用变得越来越广泛,同时,很多网站管理员都将地图服务加入到自己的网站中,增添不少特色,当然,也给使用的人提供了很多方便。最近本人一时兴起,利用google map api实现了通过来访者的IP定位google地图,同时提供对IP、域名归属地查询服务。国内也有比较多提供地图服务的API,例如:51ditu,mapbar等,选择google map api的原因是其应用的广泛性,而且其最新版本提供了更多更好的功能,不过还处于测试阶段。有兴趣的朋友可以上网搜索一下其相关资料。下面我将如何实现IP定位功能和大家交流一下。
要想使用google map api,首先得获取Google地图API的密钥,获取网址为:http://code.google.com/intl/zh-CN/apis/maps/signup.html,这一过程中,如果没有google帐户的话,还得注册用户。
获取到密钥之后接着下来利用它实现最简单的hello world网页,google提供了很多示例,大家可以访问这个网址:http://code.google.com/intl/zh-CN/apis/maps/documentation/examples/index.html查看其示例,想看怎么实现,只要查看相应页面的源代码就可以了。
经过简单的一些复制,粘贴操作,马上就可以在你的网页上增加地图了,呵呵,是不是很简单呢!拥有自己的地图后我们马上实现通过IP定位google地图。实现这个功能之前,我们得先准备些IP数据,假如你没有这些数据怎么办?没关系,我们可以享受免费大餐,国外著名的maxmind公司提供免费的IP地址库和相应的JAVA实现接口程序,大家可以通过链接http://www.maxmind.com/app/java进行下载,其免费数据准确率大概是70-80%,如果你想要更准确的数据,可以购买其收费数据,可以准确到90%以上,此外,我们还可以下载到国内著名的IP纯真数据库,准确率比maxmind的数据高多了,而且还是不断更新的,不过只限于国内的IP而言。附件中的是20091215的纯真数据库。
上面的都是一些准备的工作,现在是万事具备,只欠编码了,不过编码倒也是小事,按部就班就行了。
第一步,获取来访用户的IP
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.getRemoteAddr();
}
第二步,根据IP,结合IP数据库获取相应的地址信息(纯真数据库)或者是经纬度信息,数据库调用都有相应的JAVA 调用API的,直接拿来用就行了。
第三步,根据获取到的经纬度或者地址信息定位地图,其实google map api只会根据经纬度进行定位,地址也是先转换成坐标信息,再进行定位的,代码片段如下:
function setMapCenter(){
map.setCenter(gll,14);//14是代表比例尺的级别
var marker = new GMarker(gll);
map.addOverlay(marker);
var tip = ipLoc+"\n"+chunZhenCountry+"\n"+chunZhenArea;
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(tip);
});
marker.openInfoWindowHtml(tip);
}
至此,通过IP实现google地图定位的功能就实现了,具体的效果,大家可以看一下
DEMO
截图如下:
纯真数据库的数据:
maxmind数据库的数据:
分享到:
相关推荐
以上就是ASP.NET中实现IP屏蔽的基本方法,通过这种方式,你可以有效地阻止特定IP地址访问你的网站,从而提高安全性。但请注意,IP屏蔽并非万能,对于动态IP、代理服务器等情况可能需要更复杂的策略,如IP段封锁、...
总的来说,通过在Nginx中设置`proxy_set_header`以及在后端服务器正确解析`X-Forwarded-For`头,我们可以确保即使在负载均衡环境中也能准确记录来访者的IP地址。这对于进行用户行为分析、安全监控和故障排查等任务至...
ip.asp 获取来访IP,并调用纯真数据库获取来访者的IP和地理位置 get.asp 1-10行是一个简单的调用 11行开始,连接数据库,获取访问的页面地址和参数,写入数据库 ip.mdb 数据写入此数据库 QQWry.Dat 纯真的IP数据库 ...
11. **咨询目的**:来访者期望通过咨询解决的问题和获得的帮助,这是咨询工作的重要导向。 12. **咨询历史与心理测试**:了解来访者过去的咨询效果和心理测试结果,有利于咨询师制定合适的咨询策略。 通过填写这份...
来访者省市问候系统
通过HttpModule限制来访IP:IP限制策略是很多情况需要使用的,基于HttpModule的实现思路,可以很容易的修改、添加或去除IP策略。更多资源:http://www.SmartKernel.com
1.根据来访IP判断是否在指定国家(IP段)范围内 2.简易js获取浏览器语言,来跳转到不同语种的页面
在ASP(Active Server Pages)编程中,获取当前访问者的IP地址和所在地区是常见的需求,这对于网站数据分析、用户定位服务等具有重要意义。本教程将基于提供的"asp获得当前IP和所在地区"主题,讲解如何利用搜狐IP...
在智慧园区来访定位安保系统解决方案中,来访者的信息将被实时记录和监控,可以实时追踪来访者的位置和行为,确保来访者的安全和园区的安保。该系统还可以实时监控园区内的安全情况,提供及时的安全警报和紧急响应。...
1:通过WWW.IP138.COM来获得本机的外网IP地址 2:针对网上的其它实例增加实时更新IP地址功能,防止断网重连后IP地址显示不正确 3:增加一条命令,用来解决MSXML2.XMLHTTP和Microsoft.XMLHTTP老是读旧缓存导致IP地址...
2. **地理位置定位**:获取到IP地址所在的具体位置,包括经度和纬度,可用于地图展示或者距离计算。 3. **网络分析**:识别来访用户的大致区域,帮助网站进行访问者统计分析。 4. **安全防护**:在网络安全领域,...
心理咨询个案表来访者登记表.doc
在“根据ip进行域名跳转”的场景中,服务器需要能够识别来访用户的IP地址,并据此做出不同的响应。这通常涉及到服务器端脚本编程,如PHP,压缩包中的"cr.php"和"xxabc.php"可能就是用于处理此类逻辑的PHP文件。例如...
【心理咨询来访者登记表】是心理咨询过程中的一个重要环节,它旨在收集来访者的个人信息、家庭背景、心理状况等关键信息,以便咨询师能更好地理解来访者的状况并提供有效的帮助。这份表格通常包括以下几个主要部分:...
通过对IP地址的分析,可以知道访问者所在的国家或地区,有助于理解用户分布和潜在市场。 2. 地区:了解用户的地理分布对于全球化业务至关重要。这可以帮助企业定位目标市场,调整内容以适应不同地区的用户需求,...
通过分析这份IP地址库,我们不仅了解到了不同国家和地区对IP地址的分配情况,还能看到不同服务提供商之间IP地址的使用差异。这种数据对于网络安全、地理位置定位以及网络资源规划等方面都具有重要的参考价值。同时,...
这是心理咨询过程中的第一步,收集来访者的个人信息,包括姓名、年龄、性别等基本信息,以及在初次会谈中获取的更深入的信息,如来访者的主诉(他们为何寻求帮助)、情绪状态(通过0-10的评分系统来评估)和初步的...