2016-03-29 1 views
0

J'utilise carte Esri et javascript, et je la variable:Comment obtenir la couleur d'un symbole de marqueur à l'aide esri et javascript

var pointSymbol = new esri.symbol.SimpleMarkerSymbol(
    esri.symbol.SimpleMarkerSymbol.STYLE_CIRCLE, 
    15, 
    new esri.symbol.SimpleLineSymbol(
     esri.symbol.SimpleLineSymbol.STYLE_SOLID, 
     new dojo.Color([255, 255, 255]), 
     2), 
    new dojo.Color([47, 71, 122, 0.8])); 

Et l'événement click graphique, je veux obtenir la couleur d'un marqueur qui fait référence à ce symbole lorsque je clique sur ce marqueur.

Répondre

0

Vous n'avez pas spécifié de quelle couleur vous recherchez, car il peut y avoir plusieurs couleurs, une pour le remplissage et une pour le contour. Mais supposons que vous voulez la couleur de remplissage. Supposons également que la couche d'entités soit référencée dans l'objet 'fl' et que la couche d'entités contienne le graphique avec le symbole que vous avez mentionné ci-dessus. Ensuite, quelque chose comme cela devrait fonctionner (n'ont pas testé si)

fl.on('click', function(object){ 
    var graphic = object.graphic; 
    if (!graphic) return; 

    var symbol = graphic.symbol; 
    if (!symbol) return; 

    var color = symbol.color; // This is the object with a,r,g,b properties 
}) 

ci-dessus dépend également de la version de l'API javascript, comme pour les versions antérieures de l'objet Transmis à la fonction de rappel d'événement utilisé pour être directement un graphique objet, alors que pour les versions les plus récentes, c'est l'objet événement contenant le graphique sur lequel on a cliqué. S'il vous plaît consulter la documentation api javascript esri here

+0

Bien !!! Cela fonctionne très bien. –

+0

Pourriez-vous s'il vous plaît marquer la question comme ayant été répondue. Je vous remercie – belzebu