【轉】【完全開源】百度地圖Web service API C#.NET版,帶地圖顯示控制項、導航控制項、POI查找控制項 目錄 概述 功能 如何使用 參考幫助 概述 源代碼主要包含三個項目,BMap.NET、BMap.NET.WindowsForm以及BMap.NET.WinformDemo。 BMap. ...
【轉】【完全開源】百度地圖Web service API C#.NET版,帶地圖顯示控制項、導航控制項、POI查找控制項
目錄
源代碼主要包含三個項目,BMap.NET、BMap.NET.WindowsForm以及BMap.NET.WinformDemo。
- BMap.NET
對百度地圖Web Service API 的一些封裝,每個介面返回的都是JObject類型(參見Json.NET);
- BMap.NET.WindowsForm(開始少寫了一個s ,後來一直沒改)
提供一系列可以在Winform中使用的控制項,包括地圖顯示控制項、導航控制項、POI查找控制項等等;
- BMap.NET.WinfromDemo
一個簡單的Demo,演示如何使用各個控制項。
本項目完全基於C#.NET,沒有使用JavaScript等其他腳本。所有輪子都是手工打造。
1.帶提示的搜索輸入框
2.位置查詢
3.導航
4.添加標記、繪圖
5.區域搜索
6.快速切換城市
BMap.NET包含以下功能:
- POI查找
- 位置建議
- 地理(逆)編碼
- 導航(公交、駕車、步行)
- IP定位
- 坐標轉換(墨卡托、GPS、火星、百度坐標)
BMap.NET.WindowsForm中包含以下功能:
- 地圖顯示(拖拽、縮放等基本操作)
- 選擇地圖模式(衛星、普通、路網)
- 設置地圖載入模式(本地、本地優先、伺服器)
- 繪圖
- 距離測量
- 添加標記
- 截圖
- 位置輸入搜索控制項
- 導航控制項
- 位置列表控制項
不包含以下功能:
- 3D地圖
- 街景圖
- 導航不會考慮實時的路況信息(也沒考慮公交首末班車的發車時間)
另外,本項目只針對百度地圖,因此在擴展性方面嚴重不足,跟GMap.NET相比較差很遠。不過你可以自己修改代碼以滿足你的要求。
BMap.NET使用很簡單,每個介面均返回JObject類型(代表一個json數據),就不多說了。
BMap.NET.WindowsForm中只公開5個控制項:BPlaceBox,BMapControl,BPlacesBoard,BDirectionBoard以及BTabControl。使用時只需要將其拖進窗體設計器,然後簡單地設置一下他們的屬性,讓它們相互關聯起來:
1.BPlaceBox屬性設置
2.BMapControl屬性設置
3.BPlacesBoard屬性設置
4.BDirectionBoard屬性設置
之後按F5運行即可,不需要編寫任何代碼。
註意BTabControl控制項只是為了模仿百度地圖官網左側的Tab效果,負責組織BPlacesBoard和BDirectionBoard控制項。
2.Json.NET
3.Json可視化
說明:
1)本篇文章只是簡單的介紹一些本項目大概內容,之後會介紹幾個關鍵技術,比如百度坐標轉換、百度地圖瓦片行列號計算(百度地圖與其他地圖不一樣)等。如果有需要的朋友可以關註本博客。
2)項目中我自己知道的就有好幾個bug,由於擔心百度地圖API升級導致之前寫好的功能不能使用,所以快馬加鞭完成一版。之後我會繼續完善本項目。
註意:本項目及其所有源代碼均遵循MIT開源協議。覺得有幫助的可以點個贊,開源有益。