MapXtreme开发经验分享-实现鹰眼

MapXtreme 加载地图MapXtreme是MapInfo公司推出的一个组件 MapXtreme是MapInfo公司推出的一个组件,用它可以开发桌面地理信息系统,也可以开发在浏览器上阅读的网络地理信息系统。   由于工作需要,笔者最近开始使用MapXtreme进行网络方面的工作。我把使用过程中的点滴感想写到这里,和对MapXtreme感兴趣的朋友共同交流,也请朋友们指出我的谬误。 立即下载

由于MapXtreme没有提供鹰眼控件,需要自己来写。实现鹰眼有两个步骤:

1)在地图的视图改变的时候根据地图当前的边距生成一个矩形框,然后把这个矩形框绘制到鹰眼窗口上。

2)根据用户在鹰眼窗口上点击的位置,同步显示地图窗口对应的位置。

 

VB.NET代码如下:

 

    ' 更新鹰眼图
    Private Sub UpdateEyeMap()
        Try
            Dim tblRect As Table
            tblRect = Session.Current.Catalog.GetTable("TempRect")
            If Not tblRect Is Nothing Then
                tblRect.Close()
            End If

            Dim tblInfo As TableInfo
            tblInfo = TableInfoFactory.CreateTemp("TempRect")
            Dim tblSessionInfo As TableSessionInfo = New TableSessionInfo()

            tblRect = Session.Current.Catalog.CreateTable(tblInfo, tblSessionInfo)
            Dim feaLayer As FeatureLayer = New FeatureLayer(tblRect)
            MapControl_EagleEye.Map.Layers.Add(feaLayer)

            '实时在鹰眼临时表图上画矩形
            tblRect = Session.Current.Catalog.GetTable("TempRect")
            CType(tblRect, ITableFeatureCollection).Clear()

            '设置矩形的样式
            Dim rect As MapInfo.Geometry.DRect = MapControl1.Map.Bounds
            Dim feageo As FeatureGeometry = New MapInfo.Geometry.Rectangle(MapControl1.Map.GetDisplayCoordSys(), rect)
            Dim simLineStyle As SimpleLineStyle = New SimpleLineStyle(New LineWidth(2, MapInfo.Styles.LineWidthUnit.Point), 2, System.Drawing.Color.Red)
            Dim simInterior As SimpleInterior = New SimpleInterior(9, System.Drawing.Color.Gray, System.Drawing.Color.Green, True)
            Dim comStyle As CompositeStyle = New CompositeStyle(New AreaStyle(simLineStyle, simInterior), Nothing, Nothing, Nothing)

            '将矩形插入到图层中
            Dim fea As Feature = New Feature(feageo, comStyle)
            tblRect.InsertFeature(fea)

            '重新定位鹰眼图的中心
            MapControl_EagleEye.Map.Center = Map.Center
            MapControl_EagleEye.Map.Layers("TempRect").Invalidate()

        Catch ex As Exception
            MessageBox.Show("鹰眼显示错误:" + ex.Message)
        End Try
    End Sub

 

    Private Sub Map_ViewChanged(ByVal sender As System.Object, ByVal e As MapInfo.Mapping.ViewChangedEventArgs)
        UpdateEyeMap()
    End Sub

 

 


    Private Sub MapControl_EagleEye_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MapControl_EagleEye.Click
      
        Dim DisplayPoint As System.Drawing.PointF = New PointF(CType(e, System.Windows.Forms.MouseEventArgs).X, CType(e, System.Windows.Forms.MouseEventArgs).Y)
        Dim MapPoint As New MapInfo.Geometry.DPoint()
        Dim converter As MapInfo.Geometry.DisplayTransform = Me.MapControl_EagleEye.Map.DisplayTransform
        converter.FromDisplay(DisplayPoint, MapPoint)
        Map.Center = MapPoint
    End Sub

Mapxtreme C#完整功能演示 此程序包括了mapxtreme地图相关基本功能的演示其中包括 鹰眼地图,图层控制,发达,缩小,平移地图,地图模糊查询,中点工具,距离测量工具,面积测量工具,图元信息查看工具。适合于企业级开发,可以为您节省大量时间及工作。本程序只是演示功能,用于商业目的的破解等。请支持正版 立即下载

相关推荐

mapxtreme最新包

mapxtreme最新包

vue+mapboxgl 鹰眼展示

一、实现效果 话不多说直接上图,查看了 这个博主地址,https://blog.csdn.net/u014529917/article/details/62216130 他是用openlayer 写的 二、什么是鹰眼 1、首先要有两个地图 大图,小图,鹰眼范围图(简称鹰眼) 2、大图移动,放大缩小的时候要相应的放大和缩小 3、小图不动,鹰眼图放大和缩小时,大图展示相应的位置 三、实现思路 1、小图比大图的层级小4(我这边设置的是小4,也可以是2和3看需要) 2、获取大图的屏幕四点坐标 .

xm_w_xm的博客 2198

mapxtreme鹰眼

mapxtreme实现自定义工具及鹰眼功能

【亲测免费】 Mapbox GL Geocoder插件使用指南

Mapbox GL Geocoder插件使用指南 项目介绍 Mapbox GL Geocoder 是一个基于Mapbox GL JS的地图搜索控制台,它允许用户在地图上输入地址或地点名称并进行搜索,进而获取到精确的位置信息。此工具利用Mapbox的地理编码服务,提供了强大的自动补全功能和地点建议,是开发交互式地图应用时不可或缺的一个组件。 项目快速启动 要快速启用Mapbox GL Geoco...

gitblog_00887的博客 969

在不同版本Python中安装PyQT5及PyQT5-Tools

在不同版本Python中安装PyQT5及PyQT5-Tools

zoomgu680的博客 2万+

Sciter教程_00_创建HelloWorld工程

本教程记录Sciter工程的创建和编译运行的过程。

qq_36707072的博客 2277

MapXtreme开发(一)

1、简单专题图的显示 MapControl1.Map.Clear(); MapGeosetLoader gl=new MapGeosetLoader(@"F:/test.gst"); MapControl1.Map.Load(gl);//打开地图 MapControl1.Map.Load(new MapTableLoader(@"F:/test.tab"));//打开test.tab地图文件 Fe

chenshizero的专栏 1万+

ansys命令流力磁耦合仿真

文章目录前言一、力磁耦合仿真流程二、静力学仿真三、力磁耦合模型构建四、静磁学仿真总结 前言 一、力磁耦合仿真流程 力磁耦合有限元仿真流程中,首先进行静力学仿真,经过前处理模块、分析计算模块和后处理模块提取三维模型单元应力,然后根据力磁耦合方程中,通过matlab将单元应力导入到磁导率与应力的关系式中,得到单元的相对磁导率。最后采用载荷传递耦合方式,进行静磁学模拟仿真,分析计算得到该载荷下试件的磁场分布。,如下图所示为力磁耦合仿真流程图: 二、静力学仿真 下图为中心预制条形缺陷的Q235钢板试..

wsfwsf128的博客 2660

mapinfo二次开发之:MapX和MapXtreme区别

MapX和MapXtreme区别2:MapX需将控件装入开发环境。MapX软件开发主要针对单机软件开发,web网页版需要注册activex控件,比较麻烦。MapX和MapXtreme区别1:MapXtreme是 MapX的升级版。MapX发展到MapX5.0后不再升级,由MapXtreme代替。mapx软件和mapxtreme软件共同点:都是MapInfo公司的程序开发软件。mapxtrem软件开发的网页版,客户可以直接浏览,不需要再安装任何插件。

zhang13772562635的专栏 1259

AIDD机器学习深度学习药物发现与设计教程总结

AIDD(AI Drug Discovery & Design):是近年来非常火热的技术应用,且已经介入到新药设计到研发的大部分环节当中,为新药发现与开发带来了极大的助力。倾向于机器对数据库信息的自我学习,可以对数据进行提取和学习,一定程度上避免了化合物设计过程中的试错路径,同时还会带来很多全新的结构,为药物发现打破常规的结构壁垒。覆盖了机器学习和深度学习,能与新药研发相结合并实质性的应用到靶点预测、高通量筛选、药物设计、药物的ADMET性质预测等;且算力方面,由早期应用于药物发现领域的决策树、随机

wutianlin0723的博客 6814

MicroPython跨平台移植实战:从源码解析到STM32+FreeRTOS部署

本文详细解析了MicroPython的跨平台移植实战,重点介绍了如何将其从源码开始,成功部署到STM32微控制器并运行于FreeRTOS实时操作系统。内容涵盖源码结构解析、编译环境搭建、内存管理协调、FreeRTOS任务集成、数学库(math)启用与优化,以及自定义模块开发等核心步骤,为开发者提供了一套完整的、可操作的嵌入式Python移植方案。

vodka的博客 1014

MapXtreme 简单了解

MapXtreme也是MapInfo公司的产品,所以使用的地图和MapX相同,但是差别还是很大的,MapXtreme基于面向对象,由一系列基类和 其继承类组成了现在的MapXtreme;MapX则没有面向对象的概念,MapX和MapXtreme的差别会在以后的内容中慢慢的给大家罗列出来。 首先讲讲MapX和MapXtreme的工作空间,MapXtreme在开发中用来显示地图的控件叫做MapCon...

weixin_30897079的博客 363

ESP32小车DIY:从零搭建无线遥控智能车(附完整代码与避坑指南)

本文详细介绍了如何从零开始DIY一台基于ESP32的无线遥控智能小车。内容涵盖核心硬件选型、电路设计、低延迟ESP-NOW无线通信协议的配置与实战,以及双电机差速控制算法与PWM调速的实现。文章提供了完整的代码示例和关键的避坑指南,旨在帮助开发者快速构建稳定可靠的智能车平台,并为进一步的功能扩展奠定基础。

gamma的博客 467

MapXtreme 2005 鹰眼源代码

研究了一段时间的MapXtreme2005 v6.6, 实现了个简单的鹰眼,放出来与大家分享,转载请注明出处。设计思路为设置两个MapControl ,map1和map2,map1为主地图,map2为索引图,将map1.Bounds的矩形在map2上转换为System.Drawing.Rectangle,之后将这个Rectangle的左上坐标和width,height传到客户端,应用JS在客户端绘...

iteye_5378的博客 293

Matlab实战:用DQN算法让机器人学会自主避障(附完整代码)

本文详细介绍了如何使用Matlab实现DQN(深度Q网络)算法,使机器人在复杂环境中学会自主避障。通过环境建模、网络架构设计、奖励函数优化及实战调试,提供了完整的代码实现和训练策略,帮助开发者快速应用于机器人路径规划项目。

t8u9v0w1x的博客 232

【生产实践】PostgreSQL高可用Patroni安装(超详细已踩坑)

一 安装Patroni 0 Patroni 对Python的版本要求 我安装的是Patroni最新版本 :4.0.3,Patroni 对Python 版本有要求,没有具体的版本矩阵,但是根据每个版本发布信息可以得到以下信息 Patroni 4.0 需要 Python 3.8 以上(可以根据下面发布版本信息推理出) Version 3.0.2 Version 3.0.2 dropped support of Python older than 3.6. 版本3.0.2不再支持3.6版本以下的P

DBA之路的博客 1739

用MapXtreme2005V6.6在webapp中实现鹰眼

研究了一段时间的MapXtreme2005 v6.6, 实现了个简单的鹰眼,放出来与大家分享,转载请注明出处。设计思路为设置两个MapControl ,map1和map2,map1为主地图,map2为索引图,将map1.Bounds的矩形在map2上转换为System.Drawing.Rectangle,之后将这个Rectangle的左上坐标和width,height传到客户端,应用JS在客户端绘

kldzp的专栏 381

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

MapInfo MapXtreme 2005 WebGIS 简单鹰眼设计(转)

form 东人EP的内陆空间! original link:http://www.cnitblog.com/eastperson/archive/2006/10/17/18055.aspxorigin full text:我在2005上研究了好长时间, 才弄出来个简单的鹰眼,与大家分享,我的设计思路是将后台设置两个map ,map1和map2,map1为主地图,map2为鹰眼地图,但是map...

weixin_30631587的博客 158

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: MapXtreme开发经验分享-使用LegacyText生成文本注记
下一篇: 阳澄湖大闸蟹——烹饪(煮)心得
CodeKeeper
博客等级 码龄18年 11粉丝 23原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值