C# 程序中嵌入百度地图
发布时间:2020-12-16 01:13:48 所属栏目:百科 来源:网络整理
导读:本例是对WinForm中使用百度地图的简要介绍。百度地图目前支持Android开发,IOS开发,Web开发,服务接口,具体可以参照'百度地图开放平台'。本文仅供学习分享使用,如有不足之处,还请指正。 【动态加载百度地图】涉及知识点: WebBrowser控件,此控件是VS自
本例是对WinForm中使用百度地图的简要介绍。百度地图目前支持Android开发,IOS开发,Web开发,服务接口,具体可以参照'百度地图开放平台'。本文仅供学习分享使用,如有不足之处,还请指正。 【动态加载百度地图】涉及知识点:
效果图如下: 核心代码 关于调用百度地图的Html代码如下: 1 <!DOCTYPE html> 2 <html 3 head 4 meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 name="viewport"="initial-scale=1.0,user-scalable=no" 6 style type="text/css" 7 body,html,#allmap {width: 100%;heightoverflow hiddenmargin0font-family"微软雅黑"} 8 </style 9 script ="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=AKCode需要申请"></script10 title>地图展示11 ="text/javascript"12 window.onload = function () { 13 // 百度地图API功能 14 var map new BMap.Map("allmap); 15 point BMap.Point(116.404,39.91516 map.centerAndZoom(point,1)">1517 编写自定义函数,创建标注 18 addMarker(point) { 19 marker BMap.Marker(point); 20 map.addOverlay(marker); 21 } 22 随机向地图添加25个标注 23 bounds = map.getBounds(); 24 sw bounds.getSouthWest(); 25 ne bounds.getNorthEast(); 26 lngSpan Math.abs(sw.lng - ne.lng); 27 latSpan Math.abs(ne.lat sw.lat); 28 for ( i ; i < 25; i++) { 29 BMap.Point(sw.lng +* (Math.random() * 0.7),ne.lat )); 30 addMarker(point); 31 32 // 33 top_left_control BMap.ScaleControl({ anchor: BMAP_ANCHOR_TOP_LEFT }); 左上角,添加比例尺 34 top_left_navigation BMap.NavigationControl(); 左上角,添加默认缩放平移控件 35 top_right_navigation BMap.NavigationControl({ anchor: BMAP_ANCHOR_TOP_RIGHT,type: BMAP_NAVIGATION_CONTROL_SMALL }); 右上角,仅包含平移和缩放按钮 36 map.addControl(top_left_control); 37 map.addControl(top_left_navigation); 38 map.addControl(top_right_navigation); 39 } 40 41 42 body43 div id="allmap"div44 45 > 关于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 } -------------------------------------------------------------------------------------------------------------------------------------------------- 【加载静态图】涉及知识点
效果图如下: 核心代码 关于在WinForm程序中调用静态图API的代码如下: using System; System.Collections.Generic; System.ComponentModel; 4 System.Data; 5 System.Drawing; 6 System.Linq; 7 System.Text; 8 System.Windows.Forms; 9 System.Net; 10 System.IO; 11 System.Threading; 12 13 namespace DemoSharp 14 { 15 public partial class BaiduMap02 : Form 16 { 17 public BaiduMap02() 18 19 InitializeComponent(); 20 21 22 private void btnLoad_Click(object sender,1)">23 24 //在线程中执行 25 Thread t = new Thread(new ThreadStart(InitMap)); 26 t.Start(); 27 28 29 void InitMap() { 30 string url = "http://api.map.baidu.com/staticimage/v2?ak=AKCode需要申请&mcode=666666¢er=116.403874,39.914888&width=910&height=400&zoom=11"; 31 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); 32 request.Method = GET33 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 } 42 Thread.Sleep(100043 } 46 }
调用百度地图相关功能时,需要先申请密钥(AK),个人开发学习使用手机进行注册即可。 ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |