物探论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 594|回复: 0

MapXtreme2004代码 搜索指定点的最近图元(

[复制链接]
发表于 2013-3-13 20:40:45 | 显示全部楼层 |阅读模式
// 这里默认搜索离地图中心点最近的图元
DPoint ppt=MapControl1.Map.Center;

Map map = MapControl1.Map;
ISession session = MapInfo.Engine.Session.Current;

// 半径设置为5象素
Distance d =MapInfo.Mapping.SearchInfoFactory.ScreenToMapDistance(map, 5);
SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchNearest(ppt,map.GetDisplayCoordSys(),d);

// 搜索所有列
si.QueryDefinition.Columns = null;

// 搜到一个就停止搜索
(si.SearchResultProcessor as ClosestSearchResultProcessor).Options = ClosestSearchOptions.StopAtFirstMatch;

// 搜索到的图元放入DefaultSelection中
session.Catalog.Search("asicty79",si,session.Selections.DefaultSelection, ResultSetCombineMode.Replace);

// 得到FeatureCollection
MapInfo.Data.Table table = session.Catalog["asicty79"];     
IResultSetFeatureCollection fc = session.Selections.DefaultSelection[table];

if (fc.Count==0)
     Response.Write("没有搜索到任何图元!");

// 需要注意的是该图层必须设置为可以选择的 这样在地图上才能看出效果

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|物探论坛 ( 鄂ICP备12002012号 微信号:iwutan )

GMT+8, 2024-5-13 04:36 , Processed in 0.114905 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表