0
我正在尝试创建一个独立的应用程序,该应用程序加载ArcGis地图,在一个图层中选择几个对象并将它们放大。ArcGis引擎如何选择对象?
加载和显示在地图上不工作,使用这样的事情:
AxMapControl _mapControl;
// in constructor:
_mapControl = new AxMapControl();
// in loading
_mapControl.LoadMxFile(@"C:\Users\me\Documents\TestProject.mxd");
这并不很好地工作和不显示地图,如充分的程度(当然AxMapControl嵌入到WindowsFormsHost,但是这不应该这不是问题)。
但现在我需要选择一个或多个对象并缩放它们。我试图在一个层进行测试选择,但是这并不在所有的工作:
IFeatureSelection features = _mapControl.Map.Layer[0] as IFeatureSelection;
if (features != null)
{
QueryFilter qf = new QueryFilterClass();
qf.WhereClause = "[Name]='FS4711000'";
features.SelectFeatures(qf, esriSelectionResultEnum.esriSelectionResultNew, false);
}
在SelectFeatures致电我得到ESRI.ArcGIS.Carto一个COM错误80004005(E_FAIL),没有太多的更多的解释。也许我做的都是错的。
也许有人有一个示例如何选择图层中的对象?
嗯,老实说,我尝试过和没有括号,并有双方的错误。现在我再次尝试确认,而且它没有使用括号?!?无论你如何神奇地让我的代码工作,谢谢! :) – Sam 2011-02-28 13:09:33
针对记录不完善的ESRI API进行编程需要更多愚蠢的运气,创造性的猜测和**纯粹的黑巫术**而不是技巧。欢迎来到你最可怕的噩梦:) – jevakallio 2011-02-28 13:14:58
哦当然,我认为编写旧大道脚本是我最糟糕的噩梦 - 但ESRI成功创造了恶梦?可怜的我! :) – Sam 2011-02-28 13:36:13