cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1585回复:7

[原创]关于CenterAt

楼主#
更多 发布于:2005-02-18 09:31
<P>我想做一个列表,列出所有的对象,当选择一个对象时,地图会放大到以该点为中心的区域。</P>
<P>这里必须用到centerat,可是centerat x,y中的xy点需要已知。请问如果不已知怎么办???</P>
<P>谢谢各位</P><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2005-04-04 16:14
<P>看看下面这个帖子,可以让你放大到选择的对象,这里不管是点,线面,通吃,:)</P><P><a href="http://www.gisempire.com/bbs/dispbbs.asp?BoardID=39;ID=4432" target="_blank" >http://www.gisempire.com/bbs/dispbbs.asp?BoardID=39;ID=4432</A></P>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-04-01 19:41
解决了 。 别忘了事先定义一下对象

  Set shp_points = New MapObjects2.Points
  Set shp_points = shape_line.Parts(0)
    
  Dim i As Integer
  For i = 0 To shp_points.Count - 1
    List1.AddItem shp_points.Item(i).x
  Next i
  
  Set shp_pt1 = New MapObjects2.Point
  Set shp_pt2 = New MapObjects2.Point
  Set shp_pt1 = shp_points.Item(0)
  Set shp_pt2 = shp_points.Item(shp_points.Count - 1)
  
  Dim ptx1 As Single, pty1 As Single, ptx2 As Single, pty2 As Single
   ptx1 = shp_pt1.x
   pty1 = shp_pt1.y
   ptx2 = shp_pt2.x
   pty2 = shp_pt2.y
  Dim ptx As Single, pty As Single
   ptx = (ptx1 + ptx2) / 2
   pty = (pty1 + pty2) / 2
   Map1.CenterAt ptx, pty
 End If<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-02-22 15:10

<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2005-02-22 08:54
对,楼上说的不错!
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2005-02-21 08:28
点和多边形图层可以做到,线形图层如何做????
举报 回复(0) 喜欢(0)     评分
cool小飞侠
路人甲
路人甲
  • 注册日期2004-08-02
  • 发帖数122
  • QQ
  • 铜币4枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2005-02-21 08:14
试试去。谢谢!!<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
cnlyh
路人甲
路人甲
  • 注册日期2004-09-24
  • 发帖数15
  • QQ
  • 铜币273枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2005-02-19 10:23
<P>获取对象的extent,赋值给一个rectangle对象,再将rectangle对象的center赋给point对象就OK了</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部