最近需要用一個地圖工具,具體目的是為了實現輸入坐標文件,然后再地圖上顯示軌跡,但是網絡上沒有現成的程序,因此決定自己做一個。雖然C#的winfrom界面沒有WPF好看,但是其開發比較簡單,並且我個人對winfrom也比較熟悉,因此選擇C#的winform作為開發平台,使用高德地圖作為基准地圖。接下來進行第一步,地圖的導入。
1. 新建工程
2. 添加控件
首先添加一個panel容器,在容器里添加WebBrowser控件,為了好看把滾動條設置為不可見。
添加幾個按鈕
3. 導入高德在線地圖
3.1 申請秘鑰
打開高德API官網(https://lbs.amap.com/),注冊開發者帳號后登陸。點擊控制台
點擊應用管理--我的應用--創建新應用--輸入名稱與類型
點進新建的應用--添加,按照以下進行選擇,使用web端(JS接口),點擊提交。
這時會進入這個界面,保存生成的key,以后要用。
至此,秘鑰申請完畢。
3.2 編寫html文件
進入開始登入的官網 點擊地圖JS API
進入示例中心
點擊地圖的創建,將右側代碼全部復制
在C#工程debug文件夾中創建AMap.html文件,將復制的代碼導入html中
4. 將在線地圖導入winform中
進入winform中,瀏覽器初始化在form load函數中寫入
現在的main代碼如下
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Runtime.InteropServices; //添加類對COM可見-ComVisibleAttribute(true)/ using System.IO; using System.Threading; using System.Collections; namespace MapTool { [System.Runtime.InteropServices.ComVisible(true)] public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string str_url = Application.StartupPath + "\\Amap.html"; Uri url = new Uri(str_url); webBrowser1.Url = url; webBrowser1.ObjectForScripting = this; } } }
點擊debug運行,可以看見在線地圖已經導入(必須聯網)。
至此,在線地圖導入完畢。