<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>
Solved! Go to Solution.
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?
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;
}
}
}
}
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();
}