MapX中实现友好的交互

        MapX的标注,修改标注功能尽管都有,但都十分的难用,操作起来,用户体验非常糟糕。不光编程难以控制,操作起来也不方便:工具选择要不断的切换,移动图元十分不敏感。所以希望实现一种比较友好的交互。

        设想是这样的:默认状态,都是Pan工具,可以自由的移动地图,缩放功能放到缩略图这里就不考虑了。有一个标注开关,打开后,当在空白区域时,为标注功能。当在已存在图元上时,为移动功能。只有在标注状态下,在图元上单击左键,才进入标注移动状态。标注移动一旦结束,就返回到标注状态。

实现:
当前图元设定:只要鼠标移动到图元上方,该图元即为当前图元,移开后当前图元清空
状态设定:1-浏览;2-正在移动图元;3-标注

默认:Pan工具
鼠标按下:
    存在当前图元,且状态=3:则进入图元的移动状态,状态=2;
    不存在当前图元,且状态=4:弹出标注的提示,进行标注;
鼠标移动:
    查找当前位置的图元
        找到图元,浏览状态(1):设置图元为当前图元
        找到图元,标注状态(3):设置图元为当前图元,修改图标为移动图标

        未找到图元,浏览状态(1):清除当前图元
        未找到图元,标注状态(3):清楚当前图元,还原图标为标注图标
鼠标弹起:
    存在当前图元,浏览状态(1): 正常的一些弹出操作,信息、关联菜单等。
    存在当前图元,移动状态(2):移动过程结束,还原到标注状态,状态=3    

 

posted @   jetz  阅读(811)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
历史上的今天:
2005-05-18 对asp.net响应事件的试验
2005-05-18 ASP.Net Web Page深入探讨
2005-05-18 treeview
点击右上角即可分享
微信分享提示