问题描述
|
我正在尝试在flex中构建Webmap应用程序。
为此,\有一个代表地图的fxg文件。
它在
该组中还包含一些元素,例如POI,文本等。
我用scaleX和scaleY缩放,这对于地图来说效果很好。
但问题是:所有子级变焦也。我不要这个。他们应该在地图上停留在相同的位置,并且大小相同。
这是一些代码
作为功能
<fx:Script>
<![CDATA[
import mx.skins.Border;
[Bindable]
public var hoehe:Number = 1;
[Bindable]
public var breite:Number = 1;
protected function zoom_changeHandler(event:Event):void
{
hoehe = zoom.value;
breite = zoom.value;
}
]]>
</fx:Script>
和
<s:Scroller width=\"100%\" height=\"100%\" baseline=\"10\">
<s:Group scaleX=\"{breite}\" scaleY=\"{hoehe}\" id=\"mapView\" > <!-- zum zoomen -->
<s:Group horizontalCenter=\"0\" > <!-- Enthält alle Objekte -->
<images:karte id=\"kartePanel\" height=\"630\" width=\"430\" />
<images:akw id=\"akw1\" scaleX=\"0.2\" scaleY=\"0.2\" top=\"158\" left=\"190\" />
<components:akwView x=\"154\" y=\"131\" resizeMode=\"scale\">
</components:akwView>
</s:Group>
</s:Group>
</s:Scroller>
componentsLakwView包含一些标签,等等。不应该调整大小吗?
解决方法
您可以对具有相反值的子项否定缩放-例如,如果将zoom 2.0应用于父级,则对这些子项应用1 / 2.0 = 0.5比例,它们的大小将保持不变。
, 您应该将地图应用程序分为多个图层,每个图层包含一组特定的项目。例如,最底层是仅地图,一层是文本,一层是POI ...因此您只需要在地图层上缩放并在其他层上调整项目的位置。如果不需要,这种方法还具有隐藏某些图层的优势。