欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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
C#winform使用WebBrowser控件调用百度地图

C#winform使用WebBrowser控件调用百度地图

二、新建winform项目

  1. 新建一个winform项目 ,打开VS2015,文件–>新建–>项目–>windows窗体应用程序;
    C#winform使用WebBrowser控件调用百度地图

2.设计界面
在Form1中添加label,textBox,button,webBrowser控件。WebBrowser 类使用户可以在窗体中导航网页。
C#winform使用WebBrowser控件调用百度地图

3.winform下添加HTML页面
右键 添加–>新建项–>HTML页
C#winform使用WebBrowser控件调用百度地图
C#winform使用WebBrowser控件调用百度地图
现在项目下有一个窗体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,可根据先不要进行选择
C#winform使用WebBrowser控件调用百度地图
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);
        }
    }
}

三、运行结果图如下:

C#winform使用WebBrowser控件调用百度地图

相关标签: C#.net