罗孚传说

RoverTang.com

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

看了非常多的论坛地图插件和博客地图插件,总觉得不是很好用,不是安装太复杂就是使用太复杂,而且效果也是差强人意。最近在做MapURL.info的网站,就是一个通过URL分享地图的简单网站(详细介绍),于是乎想把网站的功能搬到博客和论坛。其实,不管是谁开发的地图插件,基本上都是通过插入一个iframe实现,于是我做了iframe,而论坛一般会限制iframe,所以将iframe通过Discuz Code(UBB code也是同理)来实现,这样在论坛也就可以显示地图了。好吧,我们具体来讲解一下需求和操作吧。

我一般先想好需求然后再开始做页面,那么论坛地图插件主要实现的是什么呢?当然是显示地图。但地图有简单和复杂之分啊,那用数据库?我不想用数据库,因为数据库的操作不仅仅写代码太麻烦,而且使用的时候也会变的很复杂。其实细想一下,插入一份地图,最简单的就是一个marker,复杂的则可能有多个点或线等对象,对于简单的地图我们不使用数据库就可以实现,对于复杂地图难道一定要用数据库吗?即使用到数据库,也不一定完全能够表达出一个复杂的地图,或者由于操作的过于繁杂而让他人本身就不想放置一份地图了,不过,如果在本地通过软件先将复杂地图编辑好,做成一份gpx或者kml文件,也许是不错的。所以,需求就是显示一个地图,可以简单可以复杂,复杂的就通过加载gpx或者kml文件来实现,另外就是在发贴操作的时候要简单。而值得高兴的是,我在做MapURL.info的时候就已经实现了这些功能,大家可以通过帮助页面看到这几大功能,而我现在只需要在论坛中简单插入地图就可以了。

说了这么多废话回过头来说安装。如果说论坛本身支持iframe那么我也就没有写这个帖子的必要了,但虽然论坛不支持iframe不过我们作为管理员倒可以让用户插入iframe,这个方法就是通过自定义Discuz Code的方法实现。

进入论坛后台管理-界面-编辑器设置-Discuz!代码,新增一个mapurl的标签,如下图所示:

discuzcodeadd

其中map.gif是一个图标,我做了一个,可以直接另存为map.gif到你的电脑,然后将map.gif上传到论坛的images\common目录下,当然你也可以自己定制一个。新增完成后点详情进行设置,如下图所示:

discuzcodesetting

其中,替换的内容为:<iframe src="http://mapurl.info/if/#{1}" width="640" height="480" frameborder="0" marginwidth="0" scrolling="no" marginheight="0"></iframe>,就是一个iframe而已,而#后面的内容通过输入获得。需要说明一下的是:http://mapurl.info/if/#这个地址,我暂时还没有单独提取出来,后期将提取出来后让大家放置在自己的网站上,以避免我的网站速度慢而影响效果。设置完成这些后,你发表日志的时候就可以看到插入地图的按钮了。

discuzpub

点那按钮,然后输入地图控制代码,提交后就表示插入了一个地图。 效果如下图所示:

discuzpubview

当然,你也可以插入其他一些地图控制代码,比如复杂的展示一个kml文件“[mapurl]wttghbcf7uxvm13-http%3A%2F%2Fmapurl.info%2Fyangchenghuchixie.kml[/mapurl]”,你可以得到如下效果:

discuzpubviewkml

更多地图控制代码可以通过MapURL.info中获得,我们提供了向导页面,按照向导生成代码即可,所有方法都可以通过帮助获得。

 

罗嗦的说了非常多,边聊天边写这篇日志,所以很乱糟糟,大家将就着看吧。如果有什么问题欢迎留言,我尽量解答。如有好的建议也欢迎提出哦。最后也希望我的MapURL.info网站能够给你带来一些方便吧。

posted on 2010-02-19 23:28  Rover.Tang  阅读(3632)  评论(0编辑  收藏  举报