Добавление элемента управления Silverlight Bing Maps в приложение Windows Phone 7

Я знаю, что биты вышли только сегодня, но в первую очередь я хочу сделать с помощью недавно выпущенный Windows Phone 7 SDK помещает карту на экран и возится.

Я загрузил последнюю версию Silverlight Maps Control и добавил ссылки на мое приложение. Фактически, представление дизайна VS 2010 файла MainPage.xaml показывает элемент управления картой после добавления пространства имен и размещения элемента управления.

Я использую предоставленную версию VS 2010 Express, которая поставляется с Win Phone 7 SDK и только что использовал шаблон New Project -> Windows Phone Application.

Когда я пытаюсь собрать, я получаю два предупреждения, связанных с dll Microsoft.Maps.MapControl.

Предупреждение 1 Основная ссылка «Microsoft.Maps.MapControl, Version = 1.0.1.0, Culture = нейтральный, PublicKeyToken = 498d0d22d7936b73, processorArchitecture = MSIL» не может быть разрешена, поскольку она косвенно зависит от сборки платформы »System.Windows.Browser , Версия = 2.0.5.0, Культура = нейтральный, PublicKeyToken = 7cec85d7bea7798e ", который не может быть разрешен в текущей целевой структуре. «Silverlight, Версия = v4.0, Профиль = WindowsPhone». Чтобы решить эту проблему, либо удалите ссылку «Microsoft.Maps.MapControl, Version = 1.0.1.0, Culture = нейтральный, PublicKeyToken = 498d0d22d7936b73, processorArchitecture = MSIL», либо перенацелите свое приложение на версию платформы, которая содержит «System.Windows.Browser» , Версия = 2.0.5.0, Культура = нейтральный, PublicKeyToken = 7cec85d7bea7798e ".

Предупреждение 2 Первичная ссылка «Microsoft.Maps.MapControl.Common, Version = 1.0.1.0, Culture = нейтральный, PublicKeyToken = 498d0d22d7936b73, processorArchitecture = MSIL» не может быть разрешена, поскольку она косвенно зависит от сборки платформы »System.Windows .Browser, Version = 2.0.5.0, Culture = нейтральный, PublicKeyToken = 7cec85d7bea7798e ", который не может быть разрешен в текущей целевой структуре. «Silverlight, Версия = v4.0, Профиль = WindowsPhone». Чтобы решить эту проблему, удалите ссылку «Microsoft.Maps.MapControl.Common, Version = 1.0.1.0, Culture = нейтральный, PublicKeyToken = 498d0d22d7936b73, processorArchitecture = MSIL» или перенацелите свое приложение на версию платформы, которая содержит «System.Windows .Browser, Версия = 2.0.5.0, Культура = нейтральный, PublicKeyToken = 7cec85d7bea7798e ".

Я склоняюсь к тому, чтобы добавить System.Windows.Browser в целевую версию фреймворка. Но я даже не уверен, возможно ли это.

Чтобы быть более конкретным; Я ищу способ установить Silverlight Maps Control в приложении Windows Phone 7 серии. Если возможно.

Спасибо.


person Jacob    schedule 15.03.2010    source источник
comment
Вы проверяли свой проект на наличие ссылки на System.Windows.Browser, Version = 2.0.5.0?   -  person Gabe    schedule 16.03.2010
comment
Нет ссылки на System.Windows.Browser. Я попытаюсь найти настоящую .dll и сослаться на нее.   -  person Jacob    schedule 16.03.2010


Ответы (3)


Управление картами Bing для настольных ПК Silverlight не поддерживается в Windows Phone. Вы можете использовать BingMapsTask вместо этого.

Вы видите ошибку, потому что нет ссылки на System.Windows.Browser.dll для Windows Phone. Если вы отметите «Добавить ссылку» в Visual Studio 2010 Express, ссылка на System.Windows.Browser.dll отсутствует.

person Arun M    schedule 16.03.2010
comment
Я пытаюсь отобразить карту в своем приложении, а не перейти к другому приложению (BingMapsTask). Если проблема связана с ссылкой, могу ли я найти .dll и просто сослаться на нее, вместо того, чтобы полагаться на версию фреймворка, чтобы включить ее? - person Jacob; 16.03.2010
comment
Это большое нет. SL для телефона - это не то же самое SL для настольного компьютера, поэтому вы не можете просто использовать элементы управления destop SL. Даже если вы можете заставить их рендерить в эмуляторе, они не будут работать на реальном оборудовании. - person ctacke; 16.03.2010
comment
нет, потому что обычная версия построена на основе настольных версий mscorlib и других сборок. Код, который запускается на телефоне, отличается (хотя он выглядит похожим с точки зрения библиотеки классов) - person Joel Martinez; 16.03.2010
comment
Кажется, что это действительно работает. Я только что сослался на файл System.Windows.Browser.dll, и теперь проект строится и показывает карту в эмуляторе. - person Jacob; 16.03.2010
comment
@ctacke благодарит вас за бесполезные и чрезвычайно спекулятивные комментарии экспертов. Конечно, есть большая вероятность, что это не сработает на реальном телефоне; во-первых, они даже не выходят до Рождества, во-вторых, SDK был выпущен ВЧЕРА. А пока у меня на эмуляторе есть карта. - person Jacob; 17.03.2010

Если вы добавите ссылку на System.Windows.Browser.dll, который обычно находится в одном из каталогов версий в "C: \ Program Files \ Microsoft Silverlight" (мой был в C: \ Program Files \ Microsoft Silverlight \ 3.0.50106.0) приложение будет построено, и вы сможете увидеть карту в эмуляторе при запуске.

Карта будет двигаться нормально, но кажется, что маленькая навигационная сфера смещена от угла. Не уверен, что с этим происходит.

Также есть хорошая запись о том, как заставить карту работать по адресу Silverlight Взлом

ИЗМЕНИТЬ

Как упоминалось в других комментариях. Вероятно, это не сработает на реальном оборудовании. Но поскольку настоящее оборудование не появится в ближайшие 6 месяцев, я считаю, что возможность что-то поднять в эмуляторе лучше, чем ничего.

person Jacob    schedule 16.03.2010

Вы также можете посмотреть http://4square.codeplex.com/. Он использует Bing Maps API для непосредственного извлечения изображений карт и т. Д., А затем работает с ними в WP7.

person Chris Craft    schedule 03.04.2010