使用Bing地圖

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

  突然想在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不能用地圖。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章