当前位置:主页   - 电脑 - 网站开发 - ASP.Net
MapInfo开发心得——控件篇
来源:网络   作者:   更新时间:2012-08-08
收藏此页】    【字号    】    【打印】    【关闭

  前阵做一个项目过程中,需要结合MapInfo进行地方展示开发,积累一点点心得与大家共享

  以下所有基于MapXtreme 6.6

  MapInfo提供了足够强大的WinForm地图空间,可以很方便地在VS中拖拉摆放。

  但如此强大的控件也带来了封闭性太强的问题。

  现在我们都接触到了大量Web上的地图,比如Google Map,Live Map等,这些Web地图都具有非常高的交互能力,缩放由鼠标双击或鼠标中键滚动,或者使用缩放工具完成,但换到WinForm上,这些非常好的交互能力全都没有了,变成了一个个冰冷的控件(如下图),需要手动触发才能调用相应功能,这样的功能给用户多大的困扰啊!

MapInfo开发心得——控件篇

  需要改变一下了:

  首先在需要使用MapControl的窗体构造一个MapControl对象,并声明如下事件:

  缩放等级改变事件

1    /**//// <summary>
2    /// 缩放等级改变事件
3     /// </summary>
4    /// <remarks>在本地图的缩放等级发生变化后触发</remarks>
5    public event EventHandler ZoomLevelChanged;

  这个事件的使用如下所示:

    /**//// <summary>
    /// 设置地图显示比例
    /// </summary>
    /// <remarks>窗体上所有缩放事件均进入该方法进行</remarks>
    /// <param name="ZoomLevel"></param>
    public void SetZoomLevel (int ZoomLevel)
    {
      _helper.Zoom ( ZoomLevel );
      _zoomLevel = _helper.ZoomLevel;
      if ( ZoomLevelChanged != null )
      {
        //触发事件
        ZoomLevelChanged ( this, new MapControlEventArg ( _zoomLevel ) );
      }
    }

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明