博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MapGuide中怎么实现“指哪儿打哪儿”?ToolTip帮你忙~
阅读量:6619 次
发布时间:2019-06-25

本文共 1850 字,大约阅读时间需要 6 分钟。

一个WebGIS平台,最基本的功能就是根据地图查询要素的详细属性信息。MapGuide作为一个WebGIS平台当然也不例外。在MapGuide的基本网页布局Ajax Viewer中,点击地图上的地物,属性信息即可显示在Properties窗口中,灵活网页布局也同样提供的属性显示窗口Widget。点一下虽然比较不费力,当有没有更省力的办法呢?其实我有腱鞘炎,一下鼠标都不想点,要是鼠标放那儿停一会儿,信息自己蹦出来就好了~~  说我懒也就罢了,其实还有更重要的,MapGuide自带的属性显示功能只能显示数据源中的字段信息,虽然可以通过数据源的Join功能连接到后台其他数据库等资源,但是要能给我个ID自己控制多好,有了这个地物ID我想干啥干啥,那有多爽?! 这在MapGuide里能行吗?

答案是,当然!我发现MapGuide的一个很大的好处就是开放性,不但能直接访问各种数据格式,还提供了开放式的定制方式。上面的问题我们用ToolTip功能就能搞定了。下面我们做一个简单的例子,来实现一个常见的任务,即鼠标指向某个地物时,弹出浮动窗口显示地物的详细信息。这些详细信息可以是从数据源中获取,也可以从其他外部数据源中如数据库中获取。

 

在MapGuide Studio中可以设定图层的ToolTip,即当鼠标悬停在地物上方时弹出气泡式浮动窗口显示相关信息。

ToolTip的设定可以通过Expression Builder进行设定。通过Expression Build不但可以使用很多文本处理函数、数学处理函数等,还可以使用Geomtric相关函数,而且可以方便的获取数据源中的相关信息。如图中显示的是数据源中的相关字段,如果我们需要在ToolTip中显示数据源中已有字段的信息,通过Expression Build即可很方便的完成。

一般数据源中都会有FeatureID这样的字段,当数据源中可能不能包含其他的信息,更详细的信息可以存储到外部数据库中,甚至需要由FeatureID连接到其他ERP、CRM等外部系统中获取。这时我们只需取得featureID并连接到自定义页面中,在该自定义页面中完成数据集处理工作即可。

ToolTip内容可以包含任何HTML标签,我们把一个IFranme嵌入到ToolTip中即可把信息页面集成进来了。

 

concat('Parcel\nName: ', RNAME, '\nAddress: ', RBILAD,'\nfeatid:', Autogenerated_SDF_ID ,'\n')

 

这个例子把ID信息传递到MapInforrmation.aspx,在这个页面中进行相关处理。在这个页面中接受到要素ID就可以通过ADO.NET等通用数据库技术访问数据库,或者访问其他CRM、ERP等外部数据了。

在Flexible WebLayout中通用适用。

 

在此只是抛砖引玉,只要大家有新想法,其实MapGuide可以很好的和您的现有系统融合,增加更生动丰富的表现形式和功能。嗯,是不是有种世界尽在掌握的感觉? :)

 

延伸阅读:

MapGuide/Map 3D 2011中的Expression Builder是个很有用的工具,比如我们经常需要为图层设置ToolTip,URL连接,或者构造过滤字符串,这时都可以用可视化的Expression Builder来生成表达式。 点击右边的按钮即可激活Expression...

 

Studio中图层编辑器中,点"Tooltip displayed for Feature"后面的按钮调出...关系,你可以在tooltip里面任意加入你需要的html标签了,是不是很酷? J...

 

ToolTip加点料, 这篇文章讲述了如果在MapGuide ToolTip中加入图片,后来无意中看到了... tooltip expression for the Parcels layer would be...但总比没有强些 :) 这只是个引子,注意到ToolTip中只是个HTML,其实只要你有想象力,可以放任...

作者:
邮箱:junqilian@163.com 
出处:  
转载请保留此信息。
本文转自峻祁连. Moving to Cloud/Mobile博客园博客,原文链接:http://www.cnblogs.com/junqilian/archive/2010/10/07/1845217.html
,如需转载请自行联系原作者
你可能感兴趣的文章
Oracle中如何判断一个字符串是否含有汉字(中文)
查看>>
Java 获取成员变量&构造函数
查看>>
【Mysql】如何查看mysql软件版本信息
查看>>
SQL优化常用方法22
查看>>
Linux安装ImageMagick与JMagick完成过程及配置
查看>>
firefox里面title乱码
查看>>
简析项目中常用的七参数转换法和四参数转换法以及涉及到的基本测量学知识...
查看>>
手把手教你接口自动化测试 – SoapUI & Groovy
查看>>
Proxool 注册shutdown hook的代码
查看>>
SQL通过日期计算年龄
查看>>
git使用(公钥私钥产生--远程库添加公钥--本地库关联远程库-使用)
查看>>
天猫双11第九年:史无前例的社会化大协同与全球商业未来
查看>>
提升代码可读性的10个技巧
查看>>
Spring常用配置解析
查看>>
「神秘部门」高调参展,京东的智慧物流组合拳
查看>>
《Linux From Scratch》第二部分:准备构建 第五章:构建临时文件系统- 5.31. Tar-1.28...
查看>>
送给自己:很多时候,我们总是希望…
查看>>
React 应用的性能优化之路
查看>>
HTTP 错误 401.3 - 访问被资源 ACL 拒绝
查看>>
为什么云安全离不开“可视性即服务”
查看>>