Adicione o Silverlight Bing Maps Control ao aplicativo Windows Phone 7
-
20-09-2019 - |
Pergunta
Eu sei que os bits acabaram de sair hoje, mas uma das primeiras coisas que quero fazer com o recém -lançado Windows Phone 7 SDK é colocado um mapa na tela e mexer.
Eu baixei a versão mais recente do Silverlight Maps Control e adicionou as referências ao meu aplicativo. De fato, a visão de design do VS 2010 da MainPage.xaml mostra o controle do mapa após adicionar o espaço para nome e colocar o controle.
Estou usando a versão EXPRESSA VS 2010, que vem com o Win Phone 7 SDK e acabei de usar o novo projeto -> Modelo de Aplicativo do Windows Phone.
Quando tento construir, recebo dois avisos relacionados ao Microsoft.Maps.MapControl DLLs.
Aviso 1 A referência primária "Microsoft.Maps.MapControl, versão = 1.0.1.0, cultura = neutra, publicKeyToken = 498D0D22D7936B73, Processorarquitetura = MSIL" Não pode ser resolvido porque possui uma dependência indireta na Assembléia da estrutura "System.windrows.brows. , Versão = 2.0.5.0, cultura = neutro, publicKeyToken = 7Cec85D7Bea7798E ", que não pôde ser resolvido na estrutura atualmente direcionada. "Silverlight, versão = v4.0, perfil = windowsphone". Para resolver esse problema, remova a referência "microsoft.maps.mapControl, versão = 1.0.1.0, cultura = neutro, publicKeyToken = 498D0D22D7936B73, ProcessOrchitecture = msil" ou redirgem seu aplicativo para uma versão -estrutura que contém "System.Windows.Browsser , Versão = 2.0.5.0, cultura = neutro, publicKeyToken = 7Cec85D7Bea7798E ".
Aviso 2 A referência primária "microsoft.maps.mapcontrol.common, versão = 1.0.1.0, cultura = neutra, publicKeyToken = 498D0D22D7936B73, Processorarquitetura = MSIL" não pôde ser resolvida porque possui uma dependência indireta na estrutura da estrutura "Sistema.Wndows .Browser, versão = 2.0.5.0, cultura = neutro, publicKeyToken = 7Cec85D7Bea7798E ", que não pôde ser resolvido na estrutura atualmente direcionada. "Silverlight, versão = v4.0, perfil = windowsphone". Para resolver esse problema, remova a referência "microsoft.maps.mapcontrol.common, versão = 1.0.1.0, cultura = neutro, publicKeyToken = 498d0d22d7936b73, processorarquitetura = mSIL" ou removegando sua aplicação para uma versão da estrutura que contém "System.Windaz .Browser, versão = 2.0.5.0, cultura = neutro, publicKeyToken = 7cec85d7bea7798e ".
Estou inclinado para alguma maneira de adicionar o sistema.Windows.browser à versão da estrutura segmentada. Mas nem tenho certeza se isso é possível.
Ser mais específico; Estou procurando uma maneira de controlar o Silverlight Maps em um aplicativo da série Windows Phone 7. Se possível.
Obrigado.
Solução 2
Se você adicionar uma referência ao System.windows.browser.dll, geralmente localizado em um dos diretórios da versão em "C: Arquivos de programas Microsoft Silverlight"(O meu estava em C: Arquivos de Programas Microsoft Silverlight 3.0.50106.0), o aplicativo será construído e você poderá ver o mapa no emulador quando executar.
O mapa se moverá bem, mas a pequena esfera de navegação parece estar compensada do canto. Não tenho certeza do que está acontecendo com isso.
Há também uma boa redação de fazer o mapa funcionar em Silverlight Hack
EDITAR
Como mencionado em outros comentários. Provavelmente isso não vai funcionar em hardware real. Mas como o hardware real não vai sair por mais 6 meses, acho que conseguir algo no emulador é melhor do que nada.
Outras dicas
O Bing Maps Control para o Desktop Silverlight não é suportado no Windows Phone. Você pode querer usar o BingMapStak em vez de.
Você está vendo o erro porque não há referência de sistema.windows.browser.dll para windows phone. Se você verificar a "Adicionar referência" no Visual Studio 2010 Express, não haverá referência disponível ao System.windows.browser.dll.
Você também pode olhar para http://4square.codeplex.com/. Ele usa a API do Bing Maps para puxar diretamente as imagens do mapa etc. e depois trabalha com elas no WP7.