godjohsn
路人甲
路人甲
  • 注册日期2005-04-15
  • 发帖数11
  • QQ
  • 铜币163枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1049回复:2

[求助]请教高手,图表互查的问题?

楼主#
更多 发布于:2005-05-31 12:48
<P>我想编一个通过点击信息表格在地图上查找定位目标的程序(VB语言):用的是SelectByID命令,希望通过获得点击目标的ID号在地图上查找对应目标</P>
<P>Private Sub MSFlexGrid_Click()</P>
<P>Set lyR = Formmain.Map1.DataSets.Item(Formallinfo.cbLayers.Text).Layer<BR>lyR.Selection.SelectByID FeatureID, miSelectionNew<BR>If lyR.Selection.Count > 0 Then<BR>For Each ftr In lyR.Selection<BR>Formmain.Map1.CenterX = ftr.CenterX<BR>Formmain.Map1.CenterY = ftr.CenterY<BR>Next<BR>End If<BR>End Sub</P>
<P>调试时“lyR.Selection.SelectByID FeatureID, miSelectionNew”一句出错“无法获得ID号”,请高手指点指点呀!</P>
喜欢0 评分0
echo2003
点子王
点子王
  • 注册日期2003-07-28
  • 发帖数2453
  • QQ76947571
  • 铜币5473枚
  • 威望1点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
1楼#
发布于:2005-05-31 17:51
你的FeatureID的值多少?
举报 回复(0) 喜欢(0)     评分
godjohsn
路人甲
路人甲
  • 注册日期2005-04-15
  • 发帖数11
  • QQ
  • 铜币163枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-05-31 19:27
<P>FeatureID值应该是从表格中的点击对象获得的吧?</P>
<P>其实我也不知道具体什么原理,这段程序是从一篇论文里直接引用的。以下是原文:</P>
<P><STRONG>我们也可以单击Grid控件中某数据行,即选中某一建筑物,而主地图窗口会将选中的建筑物<BR>自动显示在地图中央,实现了以表查图(如图2所示)。这里可利用层的Selection collection集合中的SelectBylD属性,语法格式:lyr.Selection.SelectBylD FeatureID,Flag。其中<BR>FeaturelD可以是图形对象的ID号或关键字段,Flag分别可取参数miseIectionNew(创建新选择)、miseIectionAppend(增加当前选择)、miSelectionRemove(删除当前选择)。<BR>主要程序段如下:<BR>Private Sub Gridl_Click()<BR>Set lyr = Formmain.Map1.Datasets.Item(Formbrows.<BR>Combo1.Text).Layer<BR>lyr.Selection.SelectBylD <FONT color=#f70909>SelectStr</FONT>,miSelectionNew<BR>If lyr.Selection.Count>0 Then<BR>’将图形对象的中心坐标设置为地图中心坐标<BR>For Each ftr In lyr.Selection<BR>Formmain.Map1.CenterX=ftr.CenterX<BR>Formmain.Map1.CenterY=ftr.CenterY<BR>Next<BR>End IF<BR>End Sub<BR></STRONG></P>
<P>没说清楚<FONT color=#f70909>SelectStr</FONT><FONT color=#000000>怎么定义呀,麻烦版主帮忙看一看该怎么办?</FONT></P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部