追风浪子
路人甲
路人甲
  • 注册日期2004-06-08
  • 发帖数166
  • QQ
  • 铜币782枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1769回复:3

请教在c#中做ao的点击查询

楼主#
更多 发布于:2004-07-24 16:51
<P>我用的是c#+ao8.3版,想在里面实现点击查询地物属性的功能(即在地图上点击,出现被选特征的属性数据),我参照vb的代码写的,但有些不会转换;
<I></I> <I></I> <I></I> 1。set<I></I> variable<I></I> =<I></I> object.identify<I></I> (pgeom,<I></I> ptrackcancel<I></I> )<I></I> <I></I> <I></I> 请问pgeom这个参数用ipoint类行吗?<I></I> ptrackcancel<I></I> 这个参数代表什么意思,看不明白。。。。我这样定义:(1)iarray<I></I> pidarray=pid.identify(ipipoint,nothing)<I></I> as<I></I> iarray;(2)iarray<I></I> pidarray=<I></I> pid.identify(ipipoint),,,(其中iidentify2<I></I> <I></I> pid;ipoint<I></I> ipipoint);不知为什么出错啊<I></I> ? </P>


<P><I></I> <I></I> <I></I> <I></I> 2。collections<I></I> pselected;<I></I> <I></I> <I></I> <I></I> 我想用pselected<I></I> 存放被选中的特征,但在c#中不知如何定义:
<I></I> <I></I> <I></I> <I></I> 3。<I></I> field的值怎么被获得;</P>
喜欢0 评分0
追风浪子
路人甲
路人甲
  • 注册日期2004-06-08
  • 发帖数166
  • QQ
  • 铜币782枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-07-24 20:44
<P>我大概写了一下代码,高手帮我看看  </P><P> for (int i=0 ;i<ipMapControl.LayerCount;i++)
    if(ipMapControl.get_Layer(i).Name=="A001LN0")
    
    {
     ILayer pLayer;
    
     pLayer=ipMapControl.get_Layer(i);
     IGeoFeatureLayer pGeoLayer=pLayer as IGeoFeatureLayer ;
     IIdentify pID=pGeoLayer as IIdentify;
    
     IPoint ipIPoint;
     ipIPoint=ipMapControl.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(e.X,e.Y);</P><P>     IGeometry  ipGeom=ipIPoint as IPoint;
     IArray pIDArray=pID.Identify(ipGeom) as IArray;   //为什么出错。。。。。
     if (pIDArray.Count==0)
     {
      return;
     }
     for (int j=0; j<pIDArray.Count;j++)
      
     {
         IFeatureIdentifyObj ipFeatIdObj=pIDArray.get_Element(j) as IFeatureIdentifyObj;
         IRowIdentifyObject pRowObj=ipFeatIdObj as IRowIdentifyObject;
         IFeature pFeature=pRowObj.Row as IFeature;
         IRow ipRow=pFeature;</P><P>        if(ipRow != null)
         {  
            string strValue="";
            IRowBuffer ipRowBuffer = ipRow;
            for(i=0;i<ipRowBuffer.Fields.FieldCount;i++)
             {
               strValue ="->"+ ipRowBuffer.get_Value(i).ToString();
        
            }
           MessageBox.Show(strValue);
         }
          
       }
  
     }</P>
举报 回复(0) 喜欢(0)     评分
追风浪子
路人甲
路人甲
  • 注册日期2004-06-08
  • 发帖数166
  • QQ
  • 铜币782枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-07-28 10:47
问题已解决啦!!!!!!!!<img src="images/post/smile/dvbbs/em08.gif" />
举报 回复(0) 喜欢(0)     评分
追风浪子
路人甲
路人甲
  • 注册日期2004-06-08
  • 发帖数166
  • QQ
  • 铜币782枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-07-29 11:13
<P>大家看看这个参数怎么解决(菜鸟)
MapControl.FlashShape(1,2,3,4)
1、IGeometry
2、闪烁的次数
3、闪烁的时间间隔
4、闪烁时所用的符号     //怎么定义一个符号啊 ,
ISymbol   ipSymbol;怎么给这个 ipSymbol  赋值。。。。。。</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部