Winform呼叫百度地圖介面簡單示例
阿新 • • 發佈:2018-12-30
1、首先用一個html檔案呼叫百度地圖介面(主要註冊一個序列號):
2、建立一個Winform專案,用一個WebBrower控制元件檢視html檔案、呼叫JavaScript程式碼
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>百度地圖的Hello World</title> <style type="text/css"> body, html, #allmap { width: 100%; height: 100%; overflow: hidden; margin: 0; } #l-map { height: 100%; width: 78%; float: left; border-right: 2px solid #bcbcbc; } #r-result { height: 100%; width: 20%; float: left; } </style> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.5&ak=6c497f51c06477544e5fa6e9bd68f7c3"></script> </head> <body> <div id="allmap"> </div> </body> </html> <script type="text/javascript"> //alert("Hello World"); var map = new BMap.Map("allmap"); // 建立Map例項 var point = new BMap.Point(121.504, 31.212); // 建立點座標(經度,緯度) map.centerAndZoom(point, 11); // 初始化地圖,設定中心點座標和地圖大小級別 map.addOverlay(new BMap.Marker(point)); // 給該座標加一個紅點標記 //var traffic = new BMap.TrafficLayer(); // 建立交通流量圖層例項 //map.addTileLayer(traffic); // 將圖層新增到地圖上 map.addControl(new BMap.NavigationControl()); // 新增平移縮放控制元件 map.addControl(new BMap.ScaleControl()); // 新增比例尺控制元件 map.addControl(new BMap.OverviewMapControl()); //新增縮略地圖控制元件 map.addControl(new BMap.MapTypeControl()); //新增地圖型別控制元件 map.setCurrentCity("上海"); //設定地圖顯示的城市 map.enableScrollWheelZoom(); //啟用滾輪放大縮小 function setLocation(x,y){//引數:經緯度 var point = new BMap.Point(x, y); map.centerAndZoom(point, 11); map.addOverlay(new BMap.Marker(point)); } </script>
2、建立一個Winform專案,用一個WebBrower控制元件檢視html檔案、呼叫JavaScript程式碼
using System; using System.IO; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace BaiDuMap { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { try { //webBrowser1.Url = new Uri("http://www.2345.com"); //這個檔案於可執行檔案放在同一目錄 webBrowser1.Url = new Uri(Path.Combine(Application.StartupPath, "GoogleMap.htm")); } catch (Exception ex) { MessageBox.Show(ex.Message, "異常", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { //這裡傳入x、y的值,呼叫JavaScript指令碼 webBrowser1.Document.InvokeScript("setLocation", new object[] { 121.504, 39.212 }); } } }