以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [分享]基于Foxtable的WebGIS系统开发思路 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93530) |
-- 作者:天若千颖 -- 发布时间:2016/11/30 17:07:00 -- [分享]基于Foxtable的WebGIS系统开发思路 这几天一直在做Foxtalble+WebGIS协同开发的工作,近期告一段落,在开发过程中,得到很多人的帮助,特别是蓝版,为表感谢,所以把Foxtable在这方面的应用思路分享出来,供大家参考。 这里只谈一些实现的思路,具体如何制图、如何搭建GIS服务器,如何试用API搭建WebGIS系统网上有太多的教程,大家可以自己搜索。 既然是WebGIS,其实GIS的功能都是通过WEB端来完成,Foxtable在整个系统中只有两个功能:一是通过Webbrowser打开web地图,二是通过文件管理上传地图文件(如果地图需要加密的话,如果不需要加密,这个功能可以忽略) WebGIS的搭建,建议采用Eris公司的ArcGIS系统,需要用到的包括Desktop(制图)、Server(数据服务器)、Javascript API(WebGIS),其中前两个是商业软件,如需使用,需要购买商业授权,学习研究可以到官方网站申请60天的试用。 另外,也有一些开元的GIS系统,是免费的,入门可能更难一点,如OpenLayer。 Esri官方网站:http://www.esri.com/,除Javacript API是纯英文之外,Desktop,Server均有官方的汉化包。 Esri中国官方网站:http://www.esrichina.com.cn 上面有各个软件的介绍。, ArcGIS API for Javascript 是开源的,可以使用官方的API,也可以本地部署,帮助文件:https://developers.arcgis.com/javascript/ 最新是4系列的,支持三维数据显示,不过我喜欢用3系列的,最新版本是3.18,代码看起来比较简单,这个系列的版本也比较经典。注册账号候可以下载API本地部署包。 3系列的帮助:https://developers.arcgis.com/javascript/3/ 以下是一些比较常用的源码例子,WEBGIS做图的时候可能会用到: 搭建一个简单的地图:https://developers.arcgis.com/javascript/3/jssamples/map_simple.html 动态图:https://developers.arcgis.com/javascript/3/jssamples/map_dynamic.html 底图切换:https://developers.arcgis.com/javascript/3/jssamples/widget_basemap.html 元素搜索:https://developers.arcgis.com/javascript/3/jssamples/search_multiplesources.html 关于GIS入门 可以观看Esri王志强的教学视频,跟着视频做,没有问题 http://i.youku.com/i/UMjkzNDI2ODY4OA==?spm=a2h0j.8191423.subscription_wrap.DD~A 关于Webbrowser打开gis地图的错误处理 由于Webbrowser的IE内核版本比较低,因此在打开gis地图的时候经常报错,之前也和蓝版有很多交流如何处理,详见:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=92859&replyID=&skin=1 可以使用WebKit.Net内核,可以解决IE内核版本低的问题,方法见:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=84533 但是Webkit.Net内核的不足之处是无法继承IE的代理设置,如果你的网络有代理,而你又想访问外网的数据的话,无法打开。 现在找到一个最简单的办法,就是在网页中强制使用最新的内核渲染,避免报错不显示地图 在html头 加标签 强制使用最新的ie渲染 <meta http-equiv="X-UA-Compatible" c> 详见:http://www.cnblogs.com/sung/p/3391264.html 关于地图加密的处理: 由于web文件一般放在网上,要避免别人看到,又能在foxtable开发的系统中正常打开,可以采用foxtable文件管理来实现。在窗口打开的时候,将html文件上传到要访问的服务器,关闭窗口的时候删除文件。 由于Arcgis server自带Token加密技术,因此在本地电脑上的html文件中要配置好Token信息,这样,及时别人在本地打开这个html文件,也无法查看加密的地图。 Arcgis Server Token加密设置参考: http://blog.csdn.net/esrichinacd/article/details/7972903 --------------------------------- 2017-2-21 更新 虽然JAVAScript的GIS地图是通过网页浏览的,也可以把网页的源码写到狐表的数据表的“备注”格式的列中,当客户端需要请求地图时,再根据表中储存的地图源码临时生成网页html文件,然后上传到服务器上读取数据,这样避免了本地储存HTML文件,也提高了GIS模块和狐表管理的集成度,也方便客户端地图源码的统一管理。 [此贴子已经被作者于2017/2/21 15:01:27编辑过]
|
-- 作者:天若千颖 -- 发布时间:2016/11/30 17:08:00 -- 最后效果 元素搜索 元素信息显示 |
-- 作者:天若千颖 -- 发布时间:2016/11/30 17:11:00 -- 卫星地图切换 地图的管理 HTML文件管理
[此贴子已经被作者于2016/11/30 17:13:52编辑过]
|
-- 作者:天若千颖 -- 发布时间:2016/11/30 17:12:00 -- 另外,提供一个最简单的Web例子 |
-- 作者:有点蓝 -- 发布时间:2016/11/30 17:28:00 -- 显示不全 在html头 加标签 强制使用最新的ie渲染 <meta http-equiv="X-UA-Compatible" content="IE=edge"/> 强制使用最新的ie8渲染<meta http-equiv="X-UA-Compatible" content="IE=8"/> |
-- 作者:L88919138 -- 发布时间:2016/11/30 17:32:00 -- 太强了 |
-- 作者:天若千颖 -- 发布时间:2016/11/30 17:51:00 -- 是的,html语言在论坛不能完全显示,准确代码可以到那个帖子里去复制。 通过html强制写入渲染浏览器版本的方式避免了控件默认ie内核版本太低的问题,处理起来简单,但前提是这个网页是自己的,自己可以修改源文件。 |
-- 作者:狐狸爸爸 -- 发布时间:2016/11/30 17:55:00 -- 顶楼主 |