使用Bing地圖


  免責聲明:本文章由fengyun1989創作,采用知識共享署名-非商業性使用-相同方式共享 2.5 中國大陸許可協議進行許可。

     Ps:這篇文章基於Rp版寫的。在RTM版使用BingMap大同小異。

  突然想在win8使用下Bing地圖,遙想在Wp7的時候,使用Bing地圖就是添加一個引用,然后在Page頁面添加命名空間,這樣地圖就出來了。微軟的基本都是一個套路,我估摸着在win8下也是如此。

  那么就試試,試試就知道,發現不少問題。

  1,首先考慮添加引用。在工程的引用目錄,右鍵--添加引用。彈出的引用窗口,居然沒有什么關於Bing可用的。而且就只有僅有的那么兩個引用。在網上查找一番,才知道,還得安裝Bing Maps for C#, C++, or Visual Basic (RP)。就是要安裝一個插件似的。在網上搜到這么個插件。是vsix后綴的文件,只能用Vs的拓展管理器打開安裝,折騰好一會,也沒打開這個文件。那么只能從Vs里面找了。就在工具--拓展和更新里面。在聯機里面的Visual Studio庫里面搜索Sdk就行啦。然后安裝。下面的圖我是安裝好了。

安裝好了以后,就可以添加引用了。添加這么兩個引用。

現在就可以使用Bing Map了。現在可以往MainPage.xaml里面添加這么個命名空間。

然后就能給在頁面里面使用Bing地圖了。

<bing:Map MapType="Birdseye" Credentials="AkzZURoD0H2Sle6Nq_DE7pm7F3xOc8S3CjDTGNWkz1EFlJJkcwDKT1KcNcmYVINU" Width="640" Height="480"/>

不過現在還不能運行。我們在設計器里面看到這么一句話。

看到這個我就郁悶了。Arm架構的居然用不了Bing地圖。只能希望微軟在正式版的時候能夠改善了。后來發現64位系統的根本就不能使用BingMap。修改平台解決方案為x64壓根就用不了地圖。如果win8是64位系統的話,那么把平台解決方案修改為x86,編譯能夠通過,但是居然在啟動畫面程序就停在那了。不動了。Vs也沒有啥出錯提示。我覺得這個是win8系統的原因。

那么久改變編譯的配置管理器了。把Any Cpu改為X86。

現在可以編譯運行。出現了這么一個情況。。

我仔細對比了我的程序和微軟的示例程序。代碼沒啥區別。仔細研究發現,這個異常就是Map這個標簽引起的。我糾結了很久,也沒有發現為什么。不過在這期間,我發現了一個折中的方法。

在拓展和更新的示例庫里面找到示例下載。

然后可以新建項目的時候。選擇如下:

這樣就從示例模板里面新建了一個工程。選擇MapStyle這個示例的話,該示例是最干凈的。只是在mainPage里面有三個按鈕和其三個點擊事件。只要刪除了就和自己新建的工程一樣干凈了。注意修改Map的那個Credentials屬性,這個是在微軟的Bing Maps(http://www.bingmapsportal.com)申請的一個key,沒有這個你的地圖就不能使用了。我文章中使用的這個key都是從網上搜到的代碼中摳出來的。練習的時候使用下就好了。正式版軟件就自己去申請一個吧,反正不用錢。

如果不能在設計器里面看到地圖,就修改下配置管理器的Cpu選項.現在可以編譯運行了。你就能看到地圖了.

從示例工程中新建自己的工程,果然是方便了不少。不過,沒弄懂我那個過程為什么就不行,我感覺是可以的,依然想不明白。知道的朋友麻煩告知下。

現在地圖可以用了。我想,做一個Lbs這樣的軟件不在話下,現在Bing地圖默認的地圖也是中文的,不過,貌似在Wp7中有的TileSource等類沒有了。想改變地圖源好像就不行了。而且,微軟的地圖服務還是有些爛。搜個東西很多還得用拼音。。不過這類地圖服務我想可以用Google或者百度。搜出來后在Bing Map上顯示就行啦。唯一的遺憾就是Arm不能用地圖。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM