本文实例讲述了WinForm调用百度地图接口用法。分享给大家供大家参考,具体如下:
1、首先用一个html文件调用百度地图接口(主要注册一个序列号):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
<!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代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
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("https://www.baidu.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 }); } } } |
希望本文所述对大家C#程序设计有所帮助。