地图客户端
地图客户端是用来显示地图和实现交互的,采用的技术和实现的方式多种多样,有Flash,Silverlight,Javascript等等,此外,别忘了桌面客户端也属于其范畴。
而具体基于这些技术的第三方插件有很多,开源的有如DeepEarth、SharpMap、Gmap.net、Greatmap、OpenLayer,如果细心的话,会发现提及的大多基于.net技术的,没错,个人偏向所致吧,对比过基于Deepzoom实现及Javascript实现的地图效果后,我倾向于Deepzoom(Silverlight版地图基本采用),当然,如果说考虑到用户体验(要安装浏览器插件),用Javascript或许会是更好的选择。若了解原理,展现方式不同,内在其实也大同小异的。简单描述下,仅作为参考:SharpMap对于桌面应用更有名些,我对它最后一次了解也是很久之前了,现在不知道变成怎样了,它集成了很多开源项目,包括GDAL、.net版的JTS(NJTS)等,但是个人对其渲染效果和性能不怎么满意。DeepEarth是比较有名的webClient,渲染效果不错,但功能不足,需要自己开发定制很多GIS常用功能。Gmap.net貌似比较强大,就是参考资料太少。OpenLayers是基于Javascript的……有兴趣的可以了解一下……最后来个笔锋一转,会不会觉得很坑?——我用的是arccgis api for silverlight,原因很简单,功能强大,足够我使用……
搭建DEMO
- public class GoogleRoadLayer : TiledMapServiceLayer
- {