В основном моя проблема в том, что я адаптировал фрагмент кода, найденный здесь
http://social.msdn.microsoft.com/Forums/en-US/vemapcontroldev/thread/62e70670-f306-4bb7-8684-549979af91c1
, который делает именно то, что я хочу, то есть масштабирую некоторые изображения кнопок в соответствии с уровнем масштабирования карты. Единственная проблема заключается в том, что я адаптировал этот код для запуска с управлением Silverlight на картах Bing (а не на виртуальной земле, как в исходном примере), и теперь корректность масштабирования изображений, но они перемещаются и достигают желаемой позиции только при моем уровне масштабирования это максимум. Есть идеи почему? Помощь будет принята с благодарностью:)
Модифицированный код ниже:
var layer = new MapLayer();
map.AddChild(layer);
//Sydney
layer.AddChild(new Pin
{
ImageSource = new BitmapImage(new Uri("pin.png", UriKind.Relative)),
MapInstance = map
}, new Location(-33.86643, 151.2062), PositionMethod.Center);
становится чем-то вроде
layer.AddChild(new Pin
{
ImageSource = new BitmapImage(new Uri("pin.png", UriKind.Relative)),
MapInstance = map
}, new Location(-33.92485, 18.43883), PositionOrigin.BottomCenter);
Я предполагаю, что это как-то связано с тем, как bing-карты привязывают свои элементы UI. Подробности об этом также очень полезны. Спасибо!