[Discuz!] Discuz论坛地图插件(通过自定义Discuz Code实现)

[复制链接]
查看814 | 回复0 | 2020-2-29 22:32:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
看了非常多的论坛地图插件和博客地图插件,总觉得不是很好用,不是安装太复杂就是使用太复杂,而且效果也是差强人意。最近在做网站,就是一个通过URL分享地图的简单网站,于是乎想把网站的功能搬到博客和论坛。其实,不管是谁开发的地图插件,基本上都是通过插入一个iframe实现,于是我做了iframe,而论坛一般会限制iframe,所以将iframe通过Discuz Code(UBB code也是同理)来实现,这样在论坛也就可以显示地图了。好吧,我们具体来讲解一下需求和操作吧。
我一般先想好需求然后再开始做页面,那么论坛地图插件主要实现的是什么呢?当然是显示地图。但地图有简单和复杂之分啊,那用数据库?我不想用数据库,因为数据库的操作不仅仅写代码太麻烦,而且使用的时候也会变的很复杂。其实细想一下,插入一份地图,最简单的就是一个marker,复杂的则可能有多个点或线等对象,对于简单的地图我们不使用数据库就可以实现,对于复杂地图难道一定要用数据库吗?即使用到数据库,也不一定完全能够表达出一个复杂的地图,或者由于操作的过于繁杂而让他人本身就不想放置一份地图了,不过,如果在本地通过软件先将复杂地图编辑好,做成一份gpx或者kml文件,也许是不错的。所以,需求就是显示一个地图,可以简单可以复杂,复杂的就通过加载gpx或者kml文件来实现,另外就是在发贴操作的时候要简单。而值得高兴的是,我在做MapURL.info的时候就已经实现了这些功能,大家可以通过看到这几大功能,而我现在只需要在论坛中简单插入地图就可以了。
说了这么多废话回过头来说安装。如果说论坛本身支持iframe那么我也就没有写这个帖子的必要了,但虽然论坛不支持iframe不过我们作为管理员倒可以让用户插入iframe,这个方法就是通过自定义Discuz Code的方法实现。
进入论坛后台管理-界面-编辑器设置-Discuz!代码,新增一个mapurl的标签,如下图所示:
Discuz论坛地图插件(通过自定义Discuz Code实现)5027插件的定义,
其中map.gif是一个图标,我做了一个,可以直接另存为map.gif到你的电脑,然后将map.gif上传到论坛的images\common目录下,当然你也可以自己定制一个。新增完成后点详情进行设置,如下图所示:
Discuz论坛地图插件(通过自定义Discuz Code实现)6846插件的定义,
其中,替换的内容为:
  1. <iframe src="http://www.lansjn.com/if/#{1}" width="640" height="480" frameborder="0" marginwidth="0" scrolling="no" marginheight="0"></iframe>
复制代码
就是一个iframe而已,而#后面的内容通过输入获得。需要说明一下的是:http://mapurl.info/if/#这个地址,我暂时还没有单独提取出来,后期将提取出来后让大家放置在自己的网站上,以避免我的网站速度慢而影响效果。设置完成这些后,你发表日志的时候就可以看到插入地图的按钮了。
点那按钮,然后输入地图控制代码,提交后就表示插入了一个地图。 效果如下图所示:
Discuz论坛地图插件(通过自定义Discuz Code实现)6393插件的定义,
当然,你也可以插入其他一些地图控制代码,比如复杂的展示一个kml文件“[mapurl]wttghbcf7uxvm13-http%3A%2F%2Fmapurl.info%2Fyangchenghuchixie.kml[/mapurl]”,你可以得到如下效果:
Discuz论坛地图插件(通过自定义Discuz Code实现)1724插件的定义,
更多地图控制代码可以通过蓝闪技能中获得,我们提供了向导页面,按照向导生成代码即可,所有方法都可以通过帮助获得。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

灌水成绩
406
主题
410
帖子
1576
积分
等级头衔
积分成就
  • 威望: 0
  • 贡献: 1166
  • 金钱: 0
  • 违规:
  • 在线时间:156 小时
  • 注册时间:2020-2-11
  • 最后登录:2020-8-23
个人勋章

最佳新人活跃会员热心会员突出贡献优秀版主论坛元老精贴王灌水之王荣誉管理

联系方式