最近在做一个wpf的程序,需要在地图上不是很精确的定位湖北省(以及江西省)所有的移动基站以及小区,于是乎,关于在WPF下使用地图功能的技术选择,搞了很长时间,我自己知道的,有如下两种:
1:MapInfo
2:Gmap.net
第一个,虽然说是在WPF下使用,但是,MapInfo提供的还是winform得,也就是说,您需要在wpf里面,host一个winform的用户控件(当然,也可以使用Form.Show的方式打开一个winform的窗体),关于wpf,winform在同一系统中的使用,本人没有怎么研究过,只是在winform中嵌套过wpf,但是,还真没在wpf中嵌套winform。
第二个:开源组件,在codeplex上可以查到。。这个非常的不错,提供了google,微软,argGis等等等的地图,开源的东西,不一定功能非常的强,但是,可以满足很多基本需求,如果对代码研究的深入,还可以使用很多的国内各大型地图网站提供的地图功能,比如包括51地图,e都市等。使用过e都市的同志们都知道,哪种伪3D的地图,看起来是比平面的要舒服。当然,使用google的卫星地图也还是可以的。。。
关于两种的不同:
1:mapinfo就是地图不好看,二呢,如果要再地图上面显示一个自定义控件(wpf的),我还不知道能否实现,但是,mapinfo本身提供的功能,那是足够强大的,包括框选,定位等等,但是,对于本项目的一个需求点来说,不满足,那就是做不到拓扑功能(主要是指两个节点之间的连线,也许是我自己对mapinfo不熟悉,所以不知道有无该功能)
2:gmap.net,开源的东西,主要的好处是,地图选择多,可以扩展(比如可以使用e都市等。),还有个就是,