c# winform调用百度地图
来源:互联网 发布:smtp 修改端口号 编辑:程序博客网 时间:2024/05/06 21:55
winform百度地图接入教程
Byhollow
在百度地图接入方式中,我们选择JavaScript API大众版 V2.0.通过相关阅读我们可以写出一个html出来,以被winform中的WebBrowser控件所使用。
在此文件夹中已经给出map.html即为所需。此为之后所操作的地图模板。
如下:
<!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="http://api.map.baidu.com/api?v=1.5&ak=xxQWNVG9TZfojtEeBC3WxEGv">
</script>
<script type="text/javascript">
var x = 116.404, y = 39.915;
function initdata(x0, y0) {//在这里我们将数据的初始化独立出来,以被在c#中所调用
this.x = x0;
this.y = y0;
createMap();
}
function createMap() {
var map = new BMap.Map("container"); // 创建地图实例
var point = new BMap.Point(x, y);
map.centerAndZoom(point, 15); // 初始化地图,设置中心点坐标和地图级别
map.enableScrollWheelZoom();
map.addControl(new BMap.NavigationControl());
map.addControl(new BMap.NavigationControl());
map.addControl(new BMap.ScaleControl());
map.addControl(new BMap.OverviewMapControl());
map.addControl(new BMap.MapTypeControl());
var point = new BMap.Point(x, y);
map.centerAndZoom(point, 15);
var marker = new BMap.Marker(point); // 创建标注
marker.addEventListener("click", function () {
var point = new BMap.Point(116.4, 39.8); // 创建点坐标
map.centerAndZoom(point, 15);
});
map.addOverlay(marker); // 将标注添加到地图中
}
</script>
</head>
<body>
<div id="container"></div>
</body>
</html>
在地图窗体加载的时候,我们将webbrowser控件的uri指向上面这个html。同时将传入所需的x,y坐标。
private void btn_location_Click(object sender, EventArgs e)
{
BaiduMap form = new BaiduMap();
form.initData(Convert.ToDouble(txt_X.Text), Convert.ToDouble(txt_Y.Text));
form.ShowDialog();
}
在第二个窗体中我们即将获得的坐标x,y传了过去。BaiduMap.cs
double x, y;
public void initData(double x, double y)
{
this.x = x;
this.y = y;
}
同时.
private void web_map_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
web_map.Document.InvokeScript("initdata", new Object[] { x, y });//调用html中我们独立出来的那个initdata函数。将数据初始化进去,这里是c#调用JavaScript的函数。
}
在文档被加载完毕的时候我们将调用initdata,将所输入的坐标设置到webbrowser中。
private void BaiduMap_Load(object sender, EventArgs e)
{
web_map.Url = new Uri(Application.StartupPath + @"\res\map.html", UriKind.Absolute); //窗体加载的时候将我们准备好的html模板设置进去。
}
这样就完成了。给定坐标,在百度地图中定位到该地址,并在地图中标记出来
效果如下图:
老规矩,送上本文档及源码demo 稍后点击打开链接
- c# winform调用百度地图
- Winform调用百度地图接口
- Winform调用百度地图接口简单示例
- C#调用百度地图API
- c#,winform调用百度地图及“BMap”未定义错误解决方案
- C#调用百度地图API经验
- C# 调用百度地图web服务API
- C#调用百度地图接口简单示例
- Winform实现百度地图
- 基于百度地图API的WinForm地图
- c# webbrowers控件调用百度地图后,鼠标读取百度地图的坐标
- C#调用百度地图API经验分享(一)
- C#调用百度地图API经验分享(二)
- C#调用百度地图API经验分享(三)
- C#调用百度地图API经验分享(四)
- C#调用百度地图API经验分享(一)
- C#调用百度地图API经验分享(四)
- C#调用百度地图API经验分享(四)
- 项目环境配置jar包问题
- 表格布局页面
- 股票详情界面,手机客户端横屏的时候,没有显示分价的tab
- IE input file隐藏不能上传文件解决方法
- 队列---循环队列
- c# winform调用百度地图
- bootsrap下拉框选中后没有取消的叉的原因
- android listview圆角
- dataguard部署
- Android 文件多线程断点续传下载
- c++ 内存分析
- activex 部署到web上问题
- 图形验证码实例
- 循环赛程表【only code】