// minimum scale of map
// taken from http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer
private const SCALE:Number = 1128.497176;
private const LEVEL:int = 10;
private var _lods:Array;
// add this event listener somewhere
map.addEventListener(ExtentEvent.EXTENT_CHANGE, onMapExtentChange_handler);
protected function onMapExtentChange_handler(event:ExtentEvent):void
{
if (map.level)
{
if (!map.lods && map.scale > SCALE)
{
map.lods = _lods;
imageServiceLayer.visible = true;
}
else if (map.lods && LEVEL === map.level)
{
// somewhere in here
// you will need to turn off any TiledMapServiceLayer
// that has a minimum scale, like the World_Imagery service
// if not, this function will just get stuck in a loop
imageServiceLayer.visible = false;
_lods = map.lods;
map.lods = null;
// need to subtract a minor amout
// because map.scale
// is a number and precision issues
// were throwing off my map.scale > SCALE
// comparison above
map.scale = SCALE - 0.1;
}
}
}
There are lots of similar posts and it is now 5 years later, but even with LOD's set and Bing listed first, it still says there is no data at the 1:564 level in the viewer, even over the White House, whereas you can zoom in to 1:564 on on Bing's own viewer.