#1 Tue 01 June 2010 17:40
- gallab
- Participant occasionnel
- Lieu: Marseille
- Date d'inscription: 28 May 2010
- Messages: 19
Création de layer ac OpenScales 1.1.4
Bonjour,
Je développe avec le framework libre OpenScales 1.1.4.
Je souhaite instancier dynamiquement des calques avec Action Script. (un click sur une checkbox => création du calque)
désolé de la qualité du code, il m'a servit pour plusieurs test...
le code de l'instanciation se situe dans la fonction
Code:
protected function chkTasmania_clickHandler(event:MouseEvent):void
Pour résumer je clique sur la checkbox et le calque ne s'affiche pas ![]()
Code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
xmlns:os="http://openscales.org"
creationComplete="initApp()" width="1015.0758" height="636.2879" xmlns:basetypes="org.openscales.fx.basetypes.*">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import org.openscales.core.Map;
import org.openscales.core.Trace;
import org.openscales.core.events.MapEvent;
import org.openscales.core.layer.ogc.WFS;
import org.openscales.core.layer.ogc.WMS;
import org.openscales.core.style.Style;
[Bindable] private var map:Map = null;
[Bindable] public var displayTrace:Boolean = false;
[Bindable] public var displayFirebugTrace:Boolean = false;
import org.openscales.core.events.LayerEvent;
import org.openscales.core.events.MapEvent;
import org.openscales.core.layer.Layer;
public var calque:WMS;
public var couche:WFS;
private function initApp():void {
map = fxmap.map;
}
protected function chkTasmania_clickHandler(event:MouseEvent):void
{
if (this.chkWater.selected)
{
if (calque==null)
{
//calque = new WMS("toto","http://srvsig01:1234/geoserver/wms","topp:tasmania_water_bodies",false,true,"EPSG:4326","");
couche=new WFS("tasmania_water_bodies","http://srvsig01:1234/geoserver/wfs","topp:tasmania_water_bodies",false,true,"EPSG:4326");
map.addLayer(couche);
this.map.addChild(couche);
map.zoom=7;
}
}
}
]]>
</mx:Script>
<mx:Panel x="10" y="10" width="321" height="213" layout="absolute" title="Sélection des couches">
<mx:Label x="0" y="146" text="Zoomer sur.." width="80"/>
<mx:TextInput x="81.5" y="145" width="138" text="blabla"/>
<mx:Button x="227.5" y="144" label="Zoom"/>
<mx:CheckBox x="10" y="69" label="Tasmania water (WMS)" id="chkWater" click="chkTasmania_clickHandler(event)" selected="false"/>
</mx:Panel>
<mx:VRule x="339" y="0" width="32" height="615"/>
<mx:Panel x="364" y="9.1" width="638.9394" height="595.9091" layout="absolute" title="Carte" id="panelMap">
<os:Map id="fxmap"
width="555"
height="403"
zoom="5"
centerLonLat="143.83482400000003,-43.648056" x="49" y="26">
<os:DragHandler/><os:WheelHandler/>
<os:Spinner id="spinner"
x="{width / 2}"
y="{height / 2}"/>
<os:MousePosition x="100"
y="{height-200}"
displayProjection="EPSG:4326"/>
<!--<os:Mapnik name="Mapnik" isBaseLayer="true" />-->
<os:WFS
id="stateBoundaries"
name="tutu"
url="http://srvsig01:1234/geoserver/wms"
typename="topp:tasmania_state_boundaries"
isBaseLayer="true"
projection="EPSG:4326"
version="1.0.0"
style="{Style.getDefaultSurfaceStyle()}">
</os:WFS>
</os:Map>
</mx:Panel>
<!-- Outils de Zoom -->
<os:ControlPanel x="9.9" y="249" width="320.98486" height="378.10608">
<os:ZoomBoxComponent map="{map}"
width="32"
height="32"/>
<os:ZoomComponent map="{map}"/>
</os:ControlPanel>
</mx:Application>Merci,
Gallien
Hors ligne
#2 Sat 05 June 2010 10:36
- ABA
- Juste Inscrit !
- Date d'inscription: 5 Jun 2010
- Messages: 1
Re: Création de layer ac OpenScales 1.1.4
Bonjour,
Pour permettre de sélectionner les couches à afficher/masquer il ne faut pas utiliser le clickHandler qui est destiné à interagir avec la carte et ses objets mais il faut utiliser le contrôle LayersSwitcher qui a été créé pour cela.
Pour la suite, je vous invite à continuer les échanges sur vos problématiques relatives à OpenScales sur la communauté dédiée en allant sur le groupe de discussion http://groups.google.com/group/openscales-dev
La langue par défaut du groupe de discussion est l'anglais mais, si nécessaire, n'hésitez pas à poser des questions en français puisque la moitié de la communauté est francophone.
PS: je vous encourage également à utiliser la nouvelle version 1.1.7 disponible sur http://bitbucket.org/gis/openscales/downloads/. Le site OpenScales.org est actuellement en cours de refonte du fait de la migration de forge vers bitbucket.
Aurélien Barbier-Accary
Administrateur OpenScales : http://openscales.org
Hors ligne
#3 Thu 10 June 2010 11:09
- gallab
- Participant occasionnel
- Lieu: Marseille
- Date d'inscription: 28 May 2010
- Messages: 19
Re: Création de layer ac OpenScales 1.1.4
Bonjour,
Merci ! Je viens de lire votre réponse!
En effet, il existe le composant LayerSwitcher mais je ne souhaite pas l'utiliser car il ne correspond pas à mes besoins (par exemple je ne souhaite pas pouvoir donner la possibilite à l'utilisateur de supprimer un calque !)
J'ai par ailleurs résolu ce problème :
dans l'instanciation d'un calque WFS en AS il faut définir le paramètre de style du calque.
ex:
Code:
calque.style=Style.getDefaultLineStyle();
Gallien
Hors ligne


