GeometryController

Objet permettant les manipulation des géometrie dans une carte bg.api.MAP.

bg.api.GeometryController n'est disponible qu'à partir de la version 4.6.7 du canevas flex swf API

Since:
  • 4.6.7
Author:
  • Luc Chevallier

Exemple

 map = new bg.api.Map("myMap", "http://carto.haute-garonne.fr/", {
		  onFeatureCallback:"objectFinish", 
		  onFeatureMouseOverCallback:"mouseOverObject", 
		  onFeatureMouseClickCallback:"mouseClickObject", 
	      onFeatureMouseOutCallback:"mouseOutObject" 
      });
geomController =  bg.api.GeometryController(map);

Methods

activateGeometryTool(Number)

<b><i>NEW !</i></b> Active un des outils de dessin. Par exemple activateGeometryTool(1) active l'outil de dessin d'un rectangle. Sont disponibles les outils de dessin par : Rectangle (0), Point (1), Polygone (2), Ligne (3), Selection(4).

Parameters:
Name Type Description
Number

toolId Index de l'outil à sélectionner Rectangle (0), Point (1), Polygone (2), Ligne (3), Selection(4). Retour à l'outil de déplacement en utilisant (-1)

Exemple
     activateGeometryTool(1);

addGeometry(String, options)

<b><i>NEW !</i></b> Ajoute une géometrie à la couche de dessin de la carte

Parameters:
Name Type Description
String

wktgeom : description WKT de la géometrie

options bg.api.GeometryOption

: options de céation

Returns:

Number identifiant de l'objet crée

Exemple
		addGeometry("LINESTRING(10 10,20 20)" {
				epsg:"EPSG:2154",
				style:{
					pen : 1,
					color : "#FFAABBFF",
					fill : "#000000FF"
					}
		      });

clearGeometries()

<b><i>NEW !</i></b> Supprime tous le objets dessinés

Exemple
		clearGeometries();

getGeometries(String)

<b><i>NEW !</i></b> renvoie l'ensemble des géometries vectorielles dessinées sur la carte dans un sytème de projection voulu, le retour est un tableau d'objet en JSon de la forme [{id:1,wkt:LINESTRING(10 10,20 20)},{id:2,wkt:LINESTRING(30 10,50 20)}]

Parameters:
Name Type Description
String

epsgCode Code EPSG de la projection dans laquelle la géometrie doit être renvoyée

Returns:

String[] descripteurs WKT des géometrie dans le système voulu

Exemple
		getGeometries("EPSG:2154");

getGeometriesId()

<b><i>NEW !</i></b> renvoie le tableau des identifiants des objets dessinés, le retour est un table d'entiers de la forme [1,2]

Returns:

Number[] identifiant de l'objet crée

getGeometry(int, String)

<b><i>NEW !</i></b> renvoie la géometrie vectorielle dessiné sur la carte dans un sytème de projection voulu, le retour une chaine wkt de l'objet de la forme LINESTRING(30 10,50 20)

Parameters:
Name Type Description
int

id identifiant de la géometrie à renvoyer

String

epsgCode Code EPSG de la projection dans laquelle la géometrie doit être renvoyée

Returns:

String descripteur WKT de la géometrie dans le système voulu

getGeometryExtent(int, String)

<b><i>NEW !</i></b> Methode pour envoyer l'emprise d'une géometrie dans un system donné, retour sous forme {minx:10,miny:10,maxx:20,maxy:20}

Parameters:
Name Type Description
int

id identifiant de la géometrie à renvoyer

String

epsgCode Code EPSG de la projection dans laquelle la géometrie doit être renvoyée

Returns:

String descripteur de la boite englobante (json)

Exemple
getGeometryExtent(1,"EPSG:4326");

registerProjection(String, String)

<b><i>NEW !</i></b> Defini une projection à partir de son code et de la description proj-c

Parameters:
Name Type Description
String

epsgCode Code EPSG de la projection à définir

String

projDesc Definition proj-c de la projection

Exemple
		registerProjection("EPSG:2154",
"+proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");

removeGeometry(int)

<b><i>NEW !</i></b> Supprime la géometrie désigné par id

Parameters:
Name Type Description
int

id : identifiant de la geometrie à supprimer

Exemple
	removeGeometry(1);

setDefaultStyleGeometry(style)

<b><i>NEW !</i></b> Defini le style par defaut pour les prochain dessin

Parameters:
Name Type Description
style bg.api.GeometryStyle

: style de la géometrie

Exemple
	setStyleGeometry(1,{
					pen : 1,
					color : "#FFAABBFF",
					fill : "#000000FF"
					});

setGeometryCompleteCallback()

<b><i>NEW !</i></b> Methode pour définir la fonction de callback appelé à la fin du dessin de chaque objet

Exemple
id représentant l'identifiant de l'objet dessiné
function onCallBack(id){
alert(id);
}


function setGeometryCompleteCallback(onCallBack);

setGeometryMouseClickCallback()

<b><i>NEW !</i></b> Methode pour définir la fonction de callback lorsqu' un click de la souris est sur une geometrie d'un objet dans la couche de dessin

Exemple
id représentant l'identifiant de l'objet
function onCallBack(id){
alert(id);
}


function setGeometryMouseClickCallback(onCallBack);

setGeometryMouseOutCallback()

<b><i>NEW !</i></b> Methode pour définir la fonction de callback lorsque la souris sort d'une geometrie d'un objet dans la couche de dessin

Exemple
id représentant l'identifiant de l'objet
function onCallBack(id){
alert(id);
}


function setGeometryMouseOutCallback(onCallBack);

setGeometryMouseOverCallback()

<b><i>NEW !</i></b> Methode pour définir la fonction de callback lorsque la souris passe sur une geometrie d'un objet dans la couche de dessin

Exemple
id représentant l'identifiant de l'objet
function onCallBack(id){
alert(id);
}


function setGeometryMouseOverCallback(onCallBack);

setGeometrySelectCallback()

<b><i>NEW !</i></b> Methode pour définir la fonction de callback appelé à la séléction d'un objet dans la couche de dessin

Exemple
id représentant l'identifiant de l'objet
function onCallBack(id){
alert(id);
}


function setGeometrySelectCallback(onCallBack);

setStyleGeometry(int, style)

<b><i>NEW !</i></b> Defini le style pour une geometrie identifiée par id

Parameters:
Name Type Description
int

id : identifiant de la géometrie à affecter

style bg.api.GeometryStyle

: style de la géometrie

Exemple
	setStyleGeometry(1,{
					pen : 1,
					color : "#FFAABBFF",
					fill : "#000000FF"
					});

validateGeometry()

<b><i>NEW !</i></b> Methode pour envoyer les géometries à aigle serveur (utile pour l'impresion)

Exemple
validateGeometry();

validateGeometry()

<b><i>NEW !</i></b> Methode pour envoyer les géometries à aigle serveur (utile pour l'impresion)

Exemple
validateGeometry();