C#winform使用WebBrowser控件调用百度地图
程序员文章站
2022-05-06 09:29:25
...
C#winform使用WebBrowser控件调用百度地图
一、申请百度地图**
百度官方文档:http://developer.baidu.com/map/jsmobile.htm
百度申请**:http://lbsyun.baidu.com/apiconsole/key
二、新建winform项目
-
新建一个winform项目 ,打开VS2015,文件–>新建–>项目–>windows窗体应用程序;
2.设计界面
在Form1中添加label,textBox,button,webBrowser控件。WebBrowser 类使用户可以在窗体中导航网页。
3.winform下添加HTML页面
右键 添加–>新建项–>HTML页
现在项目下有一个窗体Form1和一个HTML页,在HTMLPage1中添加代码,将您的**修改为一开始在百度地图申请的**AK。
HTMLPage1.html页代码
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html, #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
font-family: "微软雅黑";
}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的**"></script>
//<script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=您的**"></script>
<title>地图展示</title>
</head>
<body>
<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("allmap"); // 创建Map实例
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 初始化地图,设置中心点坐标和地图级别
//添加地图类型控件
map.addControl(new BMap.MapTypeControl({
mapTypes:[
BMAP_NORMAL_MAP,
BMAP_HYBRID_MAP
]}));
map.setCurrentCity("北京"); // 设置地图显示的城市 此项是必须设置的
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
</script>
http://lbsyun.baidu.com/jsdemo.htm#a1_2
百度官方文档给了很多Demo,可根据先不要进行选择
4.Form1.cs文件代码
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.IO;
namespace WindowsFormsApplication1
{
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]//调用JS代码必要
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
string str_url = Application.StartupPath + "../HTMLPage1.html";// 添加自己添加的html文件名,注意使用相对路径的方法 HTMLPage1.html要复制到debug目录下
Uri url = new Uri(str_url);
webBrowser1.Url = url;
webBrowser1.ObjectForScripting = this;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void button1_Click(object sender, EventArgs e)
{
//本地文件 MapWinForms\bin\Debug
string url = Application.StartupPath + "\\HTMLPage1.html";
//textBox1.Text = url;
url = textBox1.Text.ToString();
//string file = "file:///E:\\WinFormBaiduMap\\a1_1.html";
//屏蔽js相关错误
webBrowser1.ScriptErrorsSuppressed = true;
//导航显示本地HTML文件
webBrowser1.Navigate(url);
}
}
}
三、运行结果图如下:
上一篇: 常见面试题