标题:
【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件
概述:
源代码主要包含三个项目,BMap.NET、BMap.NET.WindowsForm以及BMap.NET.WinformDemo。BMap.NET
对百度地图Web Service API 的一些封装,每个接口返回的都是JObject类型(参见Json.NET);BMap.NET.WindowsForm(开始少写了一个s ,后来一直没改)
提供一系列可以在Winform中使用的控件,包括地图显示控件、导航控件、POI查找控件等等;BMap.NET.WinfromDemo
一个简单的Demo,演示如何使用各个控件。
本项目完全基于C#.NET,没有使用JavaScript等其他脚本。所有轮子都是手工打造。
效果图:
1.带提示的搜索输入框
211440437532760.png (346.51 KB, 下载次数: 34)
【百度地图】带地图显示控件、导航控件、POI查找控件
2016-2-11 02:33 上传
2.位置查询
211441200977231.jpg (172.3 KB, 下载次数: 32)
【百度地图】带地图显示控件、导航控件、POI查找控件
2016-2-11 02:33 上传
3.导航
211442328947270.png (145.98 KB, 下载次数: 32)
【百度地图】带地图显示控件、导航控件、POI查找控件
2016-2-11 02:33 上传
211442444569035.jpg (203.7 KB, 下载次数: 33)
【百度地图】带地图显示控件、导航控件、POI查找控件
2016-2-11 02:33 上传
211442564104087.png (148.12 KB, 下载次数: 19)
【百度地图】带地图显示控件、导航控件、POI查找控件
2016-2-11 02:33 上传
4.添加标记、绘图
211443426284307.jpg (169.07 KB, 下载次数: 31)
【百度地图】带地图显示控件、导航控件、POI查找控件
2016-2-11 02:33 上传
5.区域搜索
211444221286108.jpg (179.38 KB, 下载次数: 24)
【百度地图】带地图显示控件、导航控件、POI查找控件
2016-2-11 02:33 上传
6.快速切换城市
211444507859529.jpg (210.53 KB, 下载次数: 18)
【百度地图】带地图显示控件、导航控件、POI查找控件
2016-2-11 02:33 上传
功能:
BMap.NET包含以下功能:POI查找
位置建议
地理(逆)编码
导航(公交、驾车、步行)
IP定位
坐标转换(墨卡托、GPS、火星、百度坐标)
BMap.NET.WindowsForm中包含以下功能:地图显示(拖拽、缩放等基本操作)
选择地图模式(卫星、普通、路网)
设置地图加载模式(本地、本地优先、服务器)
绘图
距离测量
添加标记
截图
位置输入搜索控件
导航控件
位置列表控件
不包含以下功能:3D地图
街景图
导航不会考虑实时的路况信息(也没考虑公交首末班车的发车时间)
另外,本项目只针对百度地图,因此在扩展性方面严重不足,跟GMap.NET相比较差很远。不过你可以自己修改代码以满足你的要求。
如何使用:
BMap.NET使用很简单,每个接口均返回JObject类型(代表一个json数据),就不多说了。
BMap.NET.WindowsForm中只公开5个控件:BPlaceBox,BMapControl,BPlacesBoard,BDirectionBoard以及BTabControl。使用时只需要将其拖进窗体设计器,然后简单地设置一下他们的属性,让它们相互关联起来:
1.BPlaceBox属性设置
211455395355726.png (21.1 KB, 下载次数: 27)
【百度地图】带地图显示控件、导航控件、POI查找控件
2016-2-11 02:33 上传
2.BMapControl属性设置
211456070666704.png (24.61 KB, 下载次数: 26)
【百度地图】带地图显示控件、导航控件、POI查找控件
2016-2-11 02:33 上传
3.BPlacesBoard属性设置
211456415977887.png (8.37 KB, 下载次数: 23)
【百度地图】带地图显示控件、导航控件、POI查找控件
2016-2-11 02:33 上传
4.BDirectionBoard属性设置
211457105358394.png (18.99 KB, 下载次数: 23)
【百度地图】带地图显示控件、导航控件、POI查找控件
2016-2-11 02:33 上传
之后按F5运行即可,不需要编写任何代码。
注意BTabControl控件只是为了模仿百度地图官网左侧的Tab效果,负责组织BPlacesBoard和BDirectionBoard控件。
参考帮助:
编后语:
1)本篇文章只是简单的介绍一些本项目大概内容,之后会介绍几个关键技术,比如百度坐标转换、百度地图瓦片行列号计算(百度地图与其他地图不一样)等。如果有需要的朋友可以关注本博客。
2)项目中我自己知道的就有好几个bug,由于担心百度地图API升级导致之前写好的功能不能使用,所以快马加鞭完成一版。之后我会继续完善本项目。
案例源码下载: