Я должен был сделать что-то подобное для изображений. У нас были проблемы с использованием MapImage и MapImageLayer с использованием ArcGIS for Flex 2.5. Кажется, это исправить в 3.5, В любом случае мне пришлось поместить изображение в спрайт и нарисовать изображение на основе ширины спрайтов. Если вы хотите масштабировать изображение до размеров спрайта, вам нужно будет использовать Matrix API и метод масштабирования. Переданные значения должны быть разделены на ширину спрайта на ширину изображения, если предположить, что изображение больше, чем ваш спрайт. Сделайте то же самое с высотой. Вот код, который я использовал для выполнения задачи.
const point:MapPoint = geometry as MapPoint;
sprite.x = toScreenX(map, point.x);
sprite.y = toScreenY(map, point.y);
// grab left x point for upper left then for lower right
// actua
var bottomLeftX:Number = toScreenX(map, geomertyWrapper.extent.xmin);
var topRightX:Number = toScreenX(map, geomertyWrapper.extent.xmax);
var bottomLeftY:Number = toScreenY(map, geomertyWrapper.extent.ymin);
var topRightY:Number = toScreenY(map, geomertyWrapper.extent.ymax);
iconWidth = Math.abs(topRightX - bottomLeftX);
iconHeight = Math.abs(topRightY - bottomLeftY);
sprite.width = iconWidth;
sprite.height = iconHeight;
var scaleX:Number = iconWidth/bitmapData.width;
var scaleY:Number = iconHeight/bitmapData.height;
m_matrix.a = 1.0;
m_matrix.d = 1.0;
m_matrix.scale(scaleX, scaleY);
m_matrix.tx = -iconWidth / 2;
m_matrix.ty = -iconHeight / 2;
//Values needed for drawing AlertNotificationInstance
sprite.graphics.beginBitmapFill(m_bitmapData, m_matrix, false, false);
sprite.graphics.drawRect(m_matrix.tx, m_matrix.ty,
iconWidth,
iconHeight);
sprite.graphics.endFill();
Надеюсь, это поможет.