C#使用WebBrowser引入百度地图

欢迎您成为我的读者,希望这篇文章能给你一些帮助。

前言

今天有空和大家一起研究研究在WinForm端如何使用百度地图公开的信息利用WebBrowser组件来加载显示出地图。

首先仔细阅读百度地图的SDK信息,未提供在C#端的SDK信息,那么只能通过在WebBrowser中是通过加载网页html的形式来显示的。

此时用到的百度地图JavaScript API v3.0,地址如下:

https://lbsyun.baidu.com/index.php?title=jspopular3.0

百度地图SDK

根据公开的SDK信息仔细阅读,基本写的很清楚。具体步骤如下所示:

1、先申请百度地图的密钥。

2、准备移动端页面(静态页面被C#的WebBrowser组件调用)。

3、配置其百度地图属性。

4、传入地图中心点的经纬度信息,加载显示地图

<!DOCTYPE html>  
<html>
<head>  
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title>Hello, World</title>  
<style type="text/css">  
html{height:100%}  
body{height:100%;margin:0px;padding:0px}  
#container{height:100%}  
</style>  
<script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=密钥">
</script>
</head>  
 
<body>  
<div id="container"></div> 
<script type="text/javascript"> 
// 创建地图实例 
var map = new BMap.Map("container");
// 创建点坐标  
var point = new BMap.Point(116.404, 39.915);
// 初始化地图,设置中心点坐标和地图级别  
map.centerAndZoom(point, 15);
</script>
</body>
</html>

WebBrowser组件

对于在C#的WinForm端,需要利用WebBrowser组件来嵌套显示此静态页面。

具体步骤如下:

1、先新建HTML的静态页面,如上面代码一样。

2、在C#代码中利用WebBrowser调用其静态页面。

3、利用调用方法,可在WebBrowser和html页面间实现双向调用。

4、根据具体的经纬度信息在百度地图中显示出具体的坐标信息。

具体代码如下所示:

// 防止 WebBrowser 控件打开拖放到其上的文件。
wb.AllowWebBrowserDrop = false;
// 防止 WebBrowser 控件在用户右击它时显示其快捷菜单.
wb.IsWebBrowserContextMenuEnabled = false;
// 以防止 WebBrowser 控件响应快捷键。
wb.WebBrowserShortcutsEnabled = false;
// 以防止 WebBrowser 控件显示脚本代码问题的错误信息。    
wb.ScriptErrorsSuppressed = true;
// 这个属性比较重要,可以通过这个属性,把后台代码中的数据,传递到JS中,供内嵌的网页使用
wb.ObjectForScripting = this;

// 设置WebBrower的Url
string url = string.Format(Application.StartupPath + "/Baidu.html");
wb.Url = new Uri(url);


//WebBrower调用网页
wb.Document.InvokeScript("updateBaidu");
//网页调用C# 方法
window.external.getData();

这里大概的知识点就这么多,大家可以实际上手操作一遍,大概就知道是咋么回事了。

寄语

人生短暂,我不想去追求自己看不见的,我只想抓住我能看得见的。

原创不易,给个关注。

我是阿辉,感谢您的阅读,如果对你有帮助,麻烦点赞、转发 谢谢。

很高兴能和您成为朋友。

上一篇:【Oracle】存储过程的运用


下一篇:Day-11: IO编程