這里的博客實(shí)在是太不好寫了,這么用戶不友好的工具竟然來(lái)源于一個(gè)IT的專業(yè)網(wǎng)站,不可思議啊。
后面要做一個(gè)和地圖相關(guān)的應(yīng)用,先做一些準(zhǔn)備,今天申請(qǐng)了百度開發(fā)認(rèn)證,得到一個(gè)地圖的AK,可以應(yīng)用百度地圖了。
顯示地圖比較容易,直接得到AK時(shí),可以設(shè)置后得到百度地圖的HTML,在Winform中嵌入就行了。
在窗體中放入WebBrowse控件,剩下的問(wèn)題就是Winform怎樣與這個(gè)控件交互了。
我只做了一個(gè)簡(jiǎn)單的應(yīng)用,比如獲取實(shí)時(shí)的經(jīng)緯度,如果這個(gè)解決了,其他的都應(yīng)該可以。
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.Security.Permissions;
using System.Runtime.InteropServices.ComTypes;
namespace 百度地圖應(yīng)用
{
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class Form1 : Form
{
[PermissionSet(SecurityAction.Demand,Name ="FullTrust")]
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string sURL = "服務(wù)器的網(wǎng)址";
Uri url = new Uri(sURL);
webBrowser1.Url = url;
//屏蔽瀏覽器的右鍵菜單
webBrowser1.IsWebBrowserContextMenuEnabled = false;
//禁止彈出腳本錯(cuò)誤的對(duì)話框
webBrowser1.ScriptErrorsSuppressed = true;
//為了與Windows Form交互,設(shè)置可以調(diào)用js方法
webBrowser1.ObjectForScripting = this;
}
public void WinFormGetCurrentLngAndLat()
{
//獲取當(dāng)前百度地圖的經(jīng)緯度坐標(biāo)
string sLng = webBrowser1.Document.GetElementById("lng").InnerText;//經(jīng)度
string sLat = webBrowser1.Document.GetElementById("lat").InnerText;//緯度
this.toolStripStatusLabel1.Text = "經(jīng)度:"+sLng+","+"緯度:"+sLat;
}
private void button5_Click(object sender, EventArgs e)
{
WinFormGetCurrentLngAndLat();
}
}
}
要總結(jié)的是,Winform要調(diào)用瀏覽器的功能(一般是函數(shù)),在網(wǎng)頁(yè)寫好函數(shù),Winform直接調(diào)用即可。
比如:?webBrowser1.Document.InvokeScript("add_control");
網(wǎng)頁(yè)調(diào)用Winform的方法(一般是函數(shù)),在Winform中寫好,網(wǎng)頁(yè)里直接調(diào)用。
比如:window.external.WinFormGetCurrentLngAndLat();
這樣WinForm與瀏覽器就可以交互了,就可以做進(jìn)一步的應(yīng)用了。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。