<esri:GraphicsLayer id="markersLayer" infoWindowRenderer="com.flack.geni.display.mapping.mapproviders.esriprovider.testInfoWindow" />
<?xml version="1.0" encoding="utf-8"?> <esri:LabelDataRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:esri="http://www.esri.com/2008/ags"> <esri:label>test</esri:label> <s:BorderContainer backgroundColor="white" borderColor="black" color="green" cornerRadius="5" minHeight="0" minWidth="0"> <s:layout> <s:VerticalLayout paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5"/> </s:layout> <s:Label text="Sex ratio"/> <s:Label text="Divorce rate:" toolTip="Divorce rate is the number of divorces per 1000 people."/> </s:BorderContainer> </esri:LabelDataRenderer>
I'm glad to hear that resolved the original issue.It's currently up to the symbol code to support wraparound mode. This may be changed at the 3.0 final release.
Are you having any issues with your symbol when you pan or zoom?Can you try adding this to your symbol code:override public function clear(sprite:Sprite):void { removeAllChildren(sprite); sprite.graphics.clear(); sprite.x = 0; sprite.y = 0; sprite.filters = []; sprite.buttonMode = false; } override public function destroy(sprite:Sprite):void { clear(); }
override public function clear(sprite:Sprite):void { removeAllChildren(sprite); sprite.graphics.clear(); sprite.x = 0; sprite.y = 0; sprite.filters = []; sprite.buttonMode = false; } override public function destroy(sprite:Sprite):void { clear(); }
package com.flack.geni.display.mapping.mapproviders.esriprovider { import com.esri.ags.Graphic; import com.esri.ags.Map; import com.esri.ags.geometry.Geometry; import com.esri.ags.geometry.MapPoint; import com.esri.ags.symbols.MarkerSymbol; import com.esri.ags.symbols.Symbol; import com.flack.geni.resources.physical.PhysicalNodeCollection; import com.flack.geni.resources.sites.GeniManagerCollection; import com.flack.geni.resources.virtual.VirtualNodeCollection; import com.flack.shared.utils.ColorUtil; import flash.display.Sprite; import flash.events.MouseEvent; import flash.filters.DropShadowFilter; import flash.text.TextField; import flash.text.TextFieldAutoSize; import mx.core.DragSource; import mx.core.IUIComponent; import mx.core.UIComponent; import mx.managers.DragManager; public class EsriMapNodeMarkerSymbol extends Symbol { private var marker:EsriMapNodeMarker; public function EsriMapNodeMarkerSymbol(newMarker:EsriMapNodeMarker) { super(); marker = newMarker; } override public function draw(sprite:Sprite, geometry:Geometry, attributes:Object, map:Map):void { if (geometry is MapPoint) { var managers:GeniManagerCollection = marker.Nodes.Managers; var mapPoint:MapPoint = MapPoint(geometry) as MapPoint; sprite.x = toScreenX(map, mapPoint.x)-14-Math.min(3*((marker.Nodes as PhysicalNodeCollection).Locations.length-1), 6)/2; sprite.y = toScreenY(map, mapPoint.y)-14-Math.min(3*((marker.Nodes as PhysicalNodeCollection).Locations.length-1), 6)/2; var loc:int; if(managers.length > 1) { var numShownManagers:int = Math.min(managers.length, 5); loc = 3*(numShownManagers-1); for(var i:int = numShownManagers-1; i > -1; i--) { sprite.graphics.lineStyle(2, ColorUtil.colorsMedium[managers.collection.colorIdx], 1); sprite.graphics.beginFill(ColorUtil.colorsDark[managers.collection.colorIdx], 1); sprite.graphics.drawRoundRect(loc, loc, 28, 28, 10, 10); loc -= 3; } } else { if(marker.Nodes is PhysicalNodeCollection) loc = Math.min(3*((marker.Nodes as PhysicalNodeCollection).Locations.length-1), 6); else if(marker.Nodes is VirtualNodeCollection) loc = Math.min(3*((marker.Nodes as VirtualNodeCollection).PhysicalNodes.Locations.length-1), 6); while(loc > -1) { sprite.graphics.lineStyle(2, ColorUtil.colorsMedium[managers.collection[0].colorIdx], 1); sprite.graphics.beginFill(ColorUtil.colorsDark[managers.collection[0].colorIdx], 1); sprite.graphics.drawRoundRect(loc, loc, 28, 28, 10, 10); loc -= 3; } } var labelMc:TextField = new TextField(); labelMc.textColor = ColorUtil.colorsLight[managers.collection[0].colorIdx]; labelMc.selectable = false; labelMc.border = false; labelMc.embedFonts = false; labelMc.mouseEnabled = false; labelMc.width = 28; labelMc.height = 28; labelMc.htmlText = marker.Nodes.length.toString(); labelMc.autoSize = TextFieldAutoSize.CENTER; labelMc.y = 4; sprite.addChild(labelMc); // Apply the drop shadow filter to the box. var shadow:DropShadowFilter = new DropShadowFilter(); shadow.distance = 5; shadow.angle = 25; sprite.filters = [shadow]; sprite.buttonMode = true; sprite.useHandCursor = true; } } } }
There currently isn't an easier way to disable the highlight feature, but it would be good to know why it wasn't working for you.Are you also using a custom Graphic or GraphicsLayer?
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.