Suite

Modifier les styles de la carte de style après le clonage

Modifier les styles de la carte de style après le clonage


Je crée des lignes de roulement avec des étiquettes.

Le style est défini pour tout le balisage à l'aide de styleMap

Je clone le styleMap afin que les étiquettes ne soient pas écrasées à chaque fois que la page est redessinée - ce qui est toutes les 3 secondes ou lorsque la carte est actualisée

Je veux pouvoir avoir le même style que le styleMap d'origine, cependant, après le clone, les lignes deviennent noires et créer un autre styleMap ne semble pas fonctionner non plus

getBearingLabel : function(feature) { feature.style = Object.clone(this.style); var point1 = feature.geometry.components[0]; var point2 = feature.geometry.components[1]; var midPoint = FindMidPoint(point1.y, point1.x, point2.y, point2.x); var midPosition = this.map.getPixelFromLonLat(new OpenLayers.LonLat(midPoint.lon, midPoint.lat)); var length = GCDistance(point1.y, point1.x, point2.y, point2.x).toFixed(2) ; var point1Position = this.map.getPixelFromLonLat(new OpenLayers.LonLat(point1.x, point1.y)); var portant1 = GetForwardBearing(point1.y, point1.x, point2.y, point2.x); if (bearing1 < 0) { var fullCircle = 360; roulement1 += cercle complet ; } feature.style.labelXOffset = -(point1Position.x - midPosition.x); feature.style.labelYOffset = point1Position.y - midPosition.y; feature.style.label = "Relèvement : " + roulement1.toFixed(2) + "°
" + "Distance : " + longueur + "nmi" ; }

Est-il possible de définir un style par défaut, de sélectionner et de supprimer qui n'affecte pas le styleMap d'origine ?


Sur cette page, il est bien expliqué comment définir un stylemap : http://www.peterrobins.co.uk/it/olstyle.html .utilisez simplement l'exemple donné pour définir le style par défaut et recommencez pour le style sélectionné. Ainsi, vous définissez le style pour l'ensemble de la couche et vous n'avez pas à le définir pour chaque entité.