很喜欢博客园可以自定义代码的风格,今天在装饰自己的公告时候突然想加个地图来显示游客的当前位置,想到做到,那就自己动手做一下,
地图:谷歌地图jsV3版 先看演示:演示地址:http://www.cnblogs.com/phphuaibei/右面的公告处地图
设计思路:根据游客的ip信息获得地理信息,进而查询地图,再次显示游客的当前地址
第一步获得游客的ip信息
由于公告只能加html代码,肯定不可以使用服务端程序来获取到游客的ip,那就只能通过js方式获得游客的ip,第一个想法就是使用
腾讯的ip开放接口:可以获得一个数组信息
2
|
< script >document.write("你的IP是:"+IPData[0]+",来自:"+IPData[2]);</ script >
|
但是放在博客园公告上面却不能显示,原因是这个数组是gbk编码的,而博客园是utf8格式,想自己转码,但是嫌麻烦
我又想到新浪的一个ip接口,这个接口返回的是json格式的数据
2
|
< script type = "text/javascript" >document.write("欢迎来自:"+remote_ip_info.country+remote_ip_info.province+remote_ip_info.city+"的朋友!");
|
这个接口的数据是utf8格式,正合适,下面就是用这个接口获得ip信息,备注:ip本来就是一个粗略的估算,再说影响获得你ip的接口因素有很多,最终ip信息的准确还要看新浪的ip接口,个人感觉腾讯的ip接口比较精确可用到县一级,新浪的ip接口只能到市一级!腾讯ip需要转utf8格式,你可以试试看
这里可以参考我的另外一个博客:获得ip地理信息的几种方法【最全】
呵呵有点广告嫌疑了
第二根据谷歌地图查询游客位置
引入谷歌地图
这个是我转载谷歌api的,比较适合入门级的
设置谷歌地图的参数
zoom是地图显示的缩放级数,center是地图的中心位置,maptypeid是地图的类型,address主要获取查询到的地理信息,
gecode主要是谷歌地图吧地理信息转化为经度纬度值,title主要是点击时候的名称,icon主要是锚点的背景图像,没有的话就是是默认值,没有找到合适的图片这里我没有开启
这个在我另外一个博客也有详细说明:基于ip的手机地理定位
< script language = "javascript" >
|
geocoder
= new google.maps.Geocoder();
|
var
latlng = new google.maps.LatLng(39.9493, 116.3975);
|
mapTypeId:
google.maps.MapTypeId.ROADMAP
|
var
address = remote_ip_info.country+remote_ip_info.province+remote_ip_info.city;
|
document.getElementById('add').innerHTML
= "欢迎来自:"+address+"的朋友!";
|
geocoder.geocode(
{ 'address': address}, function(results, status) {
|
if
(status == google.maps.GeocoderStatus.OK) {
|
map.setCenter(results[0].geometry.location);
|
var
marker = new google.maps.Marker({
|
position:
results[0].geometry.location,
|
map
= new google.maps.Map(document.getElementById("map_canvas"), myOptions);
|
最后放置谷歌地图的容器
< body onload = "initialize()" >
|
< div id = "add" style = "
height:26px;color:#F00;font-size: 18pt;" ></ div >
|
< div id = "map_canvas" style = "width:
380px; height: 280px;" ></ div >
|
下面大家预览一下效果:演示地址:http://www.cnblogs.com/phphuaibei/右面的公告处。呵呵
,由于博客园公告不支持谷歌的信息窗口弹出和监听事件,所以只是做一个简单的显示游客的位置的统计!欢迎各位拍砖留言如果有好的建议也希望和你一起交流!我的博客公告有演示,可以看一下,如果有什么bug,也欢迎及时告诉我!

完整代码:把它加到自己的公告里面就可以了,演示地址:http://www.cnblogs.com/phphuaibei/右面的公告处
05
|
< script language = "javascript" >
|
08
|
function
initialize() {
|
09
|
geocoder
= new google.maps.Geocoder();
|
10
|
var
latlng = new google.maps.LatLng(39.9493, 116.3975);
|
14
|
mapTypeId:
google.maps.MapTypeId.ROADMAP
|
16
|
var
address = remote_ip_info.country+remote_ip_info.province+remote_ip_info.city;
|
17
|
document.getElementById('add').innerHTML
= "欢迎来自:"+address+"的朋友!";
|
21
|
geocoder.geocode(
{ 'address': address}, function(results, status) {
|
22
|
if
(status == google.maps.GeocoderStatus.OK) {
|
23
|
map.setCenter(results[0].geometry.location);
|
24
|
var
marker = new google.maps.Marker({
|
26
|
position:
results[0].geometry.location,
|
35
|
map
= new google.maps.Map(document.getElementById("map_canvas"), myOptions);
|
42
|
< body onload = "initialize()" >
|
43
|
< div id = "add" style = "
height:26px;color:#F00;font-size: 18pt;" ></ div >
|
45
|
< div id = "map_canvas" style = "width:
380px; height: 280px;" ></ div >
|
PHP淮北@杭州泛泛:伟大是熬出来的!转载请注明:http://blog.csdn.net/youacai或者http://www.cnblogs.com/phphuaibei
分享到:
相关推荐
《Android移动应用天气预报源码解析》 在当今数字化时代,移动应用已经成为人们日常生活中不可或缺的一...通过实际操作和不断调试,你可以逐步掌握Android应用开发的核心技术,从而打造属于自己的高质量天气预报应用。
3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于...
在Android 2.0时代,游戏开发已经成为移动应用领域的一大热门。本章节的源码提供了深入理解Android游戏开发的关键知识,旨在帮助开发者提升技能并创作出高...不断实践和迭代,你将能够创造出属于自己的精彩游戏世界。
在IT领域,映射是一种常见的数据结构,用于存储键值对,使得我们可以通过键来查找对应的值。在Java或其他编程语言中,一对多映射(也称为...记得分析源码中的关键逻辑,理解其设计思路,并尝试将其应用到自己的项目中。
3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在...
最后,源代码中提到的MyWritable类是Hadoop中Writable接口的一个典型实现,它演示了如何通过实现Writable接口中的write和readFields方法来定义可序列化的对象。这个类能够被Hadoop的IPC机制用于序列化和反序列化,以...
在Android手机开发领域,源代码是理解系统工作原理和学习编程技术的重要资源。"android手机开发源代码--7、8" 提供了50多个经典小程序的源代码,...通过深入学习和实践,你将能够独立地开发出属于自己的Android应用。
9,增加google地图功能 10,改进气泡提示,全面增加表单填写提示功能 11,修复默认全功能调用模版搜索功能 12,修复下来菜单被广告遮住功能 13,清理默认附带的上传附件,演示全改用直接外链官网,所有附带附件仅3张小图片,...
FYCMS虽然易用,但考虑到新人站长们很多并没有接触过网站制作等,所以FYCMS专门组建了视频教程制作小组,将整个FYCMS网站构建流程制作出视频教程,只要会用鼠标、键盘就可以通过视频教程构建出属于自己的网站。...
商业网站案例演示: http://www.sitoss.com.cn(中) http://www.sitoss.com(英) 其它事项:你必须在网站服务器配置中将“index.php”设为网站认的首页,否则本软件无法运行(本地安装版用户无需理会此项): 网站...
这个源代码集成了对Google、百度、易搜(360搜索的前身)以及Alexa这四大主流搜索引擎的查询功能,同时也考虑到了PageRank(PR值),这是Google对网页重要性的评估指标。对于网站管理员和SEO从业者来说,这些数据...
如果你下载了这个文件,可以尝试离线使用Drawio,或者对源码进行二次开发,定制属于自己的绘图工具。 总之,Drawio作为一款免费的在线绘图工具,无论是对于个人还是团队,都是提高工作效率、提升作品质量的好帮手。...
1.没有自带的文章系统,不可以自己增加问题! 以上程序均来自互联网的发布! 流量爆增方法:准备一个好的空间或服务器,修改好网站相关信息, 然后更新系统缓存,生成后的网站的标题和关键字切记一个月内:不要...