0

全部,

我正在使用 ArcGIS 组件来显示地图。我想让给定的位置显示在我的浏览器页面的中心。我有左侧/顶部导航栏,其余空间由 ArcGIS 地图组件占用。

谁可以帮我这个事

TIA

4

1 回答 1

1

假设您已将地图命名为“地图”:

map.extent = map.extent.centerAt(new MapPoint(myX, myY));

请注意,centerAt() 不会更改地图范围,它会创建一个新范围,您可以将地图的范围设置为该范围。

编辑:

这更复杂,但它会找到您为您传递的控件的真正中心:

        public function centerAtXY(relativeTo:DisplayObject, x:Number, y:Number):void
        {
            //Get the center of the displayobject's position on the map
            var offsetPoint:MapPoint = map.toMapFromStage(relativeTo.width /2, relativeTo.height /2);

            //Find the distance between the map's center and the display's center in map units
            var offsetX:Number = map.extent.center.x - offsetPoint.x;
            var offsetY:Number = map.extent.center.y - offsetPoint.y;

            //Recenter the map so x,y is at the center of the displayobject
            var centerPoint:MapPoint = new MapPoint(x + offsetX, y + offsetY);
            map.extent = map.extent.centerAt(centerPoint);
        }
于 2012-08-23T18:46:15.730 回答