博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 程序中嵌入百度地图
阅读量:5887 次
发布时间:2019-06-19

本文共 2581 字,大约阅读时间需要 8 分钟。

本例是对WinForm中使用百度地图的简要介绍。百度地图目前支持Android开发,IOS开发,Web开发,服务接口,具体可以参照'百度地图开放平台'。本文仅供学习分享使用,如有不足之处,还请指正。

【动态加载百度地图】涉及知识点:

  • WebBrowser控件,此控件是VS自带的控件,使用户可以在WinForm窗体中导航网页。主要用到Navigate函数,此函数将指定的统一资源定位符 (URL) 处的文档加载到浏览器新窗口或 System.Windows.Forms.WebBrowser 控件中。有关此控件的详细信息,请参照MSDN上详细说明。
  • 百度地图JavaScript API,调用API在网页中显示百度地图。

效果图如下:

核心代码

关于调用百度地图的Html代码如下:

1  2  3  4     
5
6 9 10 地图展示11 41 42 43
44 45
View Code

关于WinForm调用Html的代码如下:

1         private void BaiduMap01_Load(object sender, EventArgs e)2         {3             //htm文件Copy到程序根目录4             this.wbBaidu.Navigate(AppDomain.CurrentDomain.BaseDirectory + "Baidu01.htm",false);5         }
View Code

--------------------------------------------------------------------------------------------------------------------------------------------------

【加载静态图】涉及知识点

  • 调用百度的静态图接口
  • PictureBox VS自带的图片容器,表示用于显示图像的 Windows 图片框控件。
  • HttpWebRequest,HttpWebResponse 在WinForm中发送/接收 http请求。
  • Thread 为了不让界面卡死,采用在后台进程中调用。
  • 将返回的字节流,转换成Image对象

效果图如下:

核心代码

关于在WinForm程序中调用静态图API的代码如下:

1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using System.Net;10 using System.IO;11 using System.Threading;12 13 namespace DemoSharp14 {15     public partial class BaiduMap02 : Form16     {17         public BaiduMap02()18         {19             InitializeComponent();20         }21 22         private void btnLoad_Click(object sender, EventArgs e)23         {24             //在线程中执行25             Thread t = new Thread(new ThreadStart(InitMap));26             t.Start();27         }28 29         private void InitMap() {30             string url = "http://api.map.baidu.com/staticimage/v2?ak=AKCode需要申请&mcode=666666&center=116.403874,39.914888&width=910&height=400&zoom=11";31             HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);32             request.Method = "GET";33             HttpWebResponse response = request.GetResponse() as HttpWebResponse;34             while (true)35             {36                 if (response.StatusCode == HttpStatusCode.OK)37                 {38                     Image img = Image.FromStream(response.GetResponseStream());39                     this.pictureBox1.Image = img;40                     break;41                 }42                 Thread.Sleep(1000);43             }44         }45     }46 }
View Code

后记:

调用百度地图相关功能时,需要先申请密钥(AK),个人开发学习使用手机进行注册即可。

 

转载于:https://www.cnblogs.com/hsiang/p/6246756.html

你可能感兴趣的文章
gitlab 完整部署实例
查看>>
GNS关于IPS&ASA&PIX&Junos的配置
查看>>
影响企业信息化成败的几点因素
查看>>
SCCM 2016 配置管理系列(Part8)
查看>>
struts中的xwork源码下载地址
查看>>
ABP理论学习之仓储
查看>>
我的友情链接
查看>>
Tengine新增nginx upstream模块的使用
查看>>
CentOS图形界面和命令行切换
查看>>
HTML5通信机制与html5地理信息定位(gps)
查看>>
汽车常识全面介绍 - 悬挂系统
查看>>
加快ALTER TABLE 操作速度
查看>>
学习笔记之软考数据库系统工程师教程(第一版)
查看>>
PHP 程序员的技术成长规划
查看>>
memcached 分布式聚类算法
查看>>
jquery css3问卷答题卡翻页动画效果
查看>>
$digest already in progress 解决办法——续
查看>>
mysql 数据类型
查看>>
Ubuntu 设置当前用户sudo免密码
查看>>
ionic 调用手机的打电话功能
查看>>