【完全開源】百度地圖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等其他腳本。所有輪子都是手工打造。

Github地址

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控件。

 

參考幫助

1.百度地圖API文檔

2.Json.NET

3.Json可視化

 

說明:

1)本篇文章只是簡單的介紹一些本項目大概內容,之后會介紹幾個關鍵技術,比如百度坐標轉換、百度地圖瓦片行列號計算(百度地圖與其他地圖不一樣)等。如果有需要的朋友可以關注本博客。

2)項目中我自己知道的就有好幾個bug,由於擔心百度地圖API升級導致之前寫好的功能不能使用,所以快馬加鞭完成一版。之后我會繼續完善本項目。

注意:本項目及其所有源代碼均遵循MIT開源協議。覺得有幫助的可以點個贊,開源有益。


免責聲明!

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



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