【完全开源】百度地图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.带提示的搜索输入框

2.位置查询

3.导航



4.添加标记、绘图

5.区域搜索

6.快速切换城市

功能
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属性设置

2.BMapControl属性设置

3.BPlacesBoard属性设置

4.BDirectionBoard属性设置

之后按F5运行即可,不需要编写任何代码。
注意BTabControl控件只是为了模仿百度地图官网左侧的Tab效果,负责组织BPlacesBoard和BDirectionBoard控件。
参考帮助
2.Json.NET
3.Json可视化
说明:
1)本篇文章只是简单的介绍一些本项目大概内容,之后会介绍几个关键技术,比如百度坐标转换、百度地图瓦片行列号计算(百度地图与其他地图不一样)等。如果有需要的朋友可以关注本博客。
2)项目中我自己知道的就有好几个bug,由于担心百度地图API升级导致之前写好的功能不能使用,所以快马加鞭完成一版。之后我会继续完善本项目。
注意:本项目及其所有源代码均遵循MIT开源协议。觉得有帮助的可以点个赞,开源有益。
【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件的更多相关文章
- 【转】【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件
[转][完全开源]百度地图Web service API C#.NET版,带地图显示控件.导航控件.POI查找控件 目录 概述 功能 如何使用 参考帮助 概述 源代码主要包含三个项目,BMap.NET ...
- C# 调用百度地图Web服务API
最近公司项目中需要根据两个地点的交通路径和距离做一些数据推荐,为了程序的稳定和用户体验所以想从百度地图 API 采集数据保存到数据库中,经过一翻研究之后选定了百度地图 Web 服务 API 中的 Di ...
- C# 调用百度地图 Web 服务 API
最近公司项目中需要根据两个地点的交通路径和距离做一些数据推荐,为了程序的稳定和用户体验所以想从百度地图 API 采集数据保存到数据库中,经过一翻研究之后选定了百度地图 Web 服务 API 中的 Di ...
- Node.js调用百度地图Web服务API的Geocoding接口进行点位反地理信息编码
(从我的新浪博客上搬来的,做了一些修改.) 最近迷上了node.js以及JavaScript.现在接到一个活,要解析一个出租车点位数据的地理信息.于是就想到使用Node.js调用百度地图API进行解析 ...
- 通过百度地图API实现搜索地址--第三方开源--百度地图(三)
搜索地址功能是建立在能够通过百度地图API获取位置的基础上 通过百度地图定位获取位置详情:http://www.cnblogs.com/zzw1994/p/5008134.html package c ...
- 通过百度地图API显示当前位置在地图上(图标显示)--第三方开源--百度地图(二)
1.下载百度地图的demo,下载地址:http://lbsyun.baidu.com/sdk/download?selected=mapsdk_basicmap,mapsdk_searchfuncti ...
- 通过百度地图API定位--第三方开源--百度地图(一)
1.把百度地图定位API(下载地址:http://lbsyun.baidu.com/sdk/download?selected=location)里面的libs复制到自己的项目libs里面 2.进行相 ...
- 百度地图web api使用案例
效果如下: 1.获取位置的经纬度: 如坐标:114.110033,22.541098 获取经纬度: http://api.map.baidu.com/lbsapi/getpoint/index.htm ...
- C#怎么调用百度地图Web API
直接上代码: public ActionResult FindMileage() { string s; HttpWebRequest req = (HttpWebRequest)HttpWebReq ...
随机推荐
- I Could Have Danced All Night
百老汇著名音乐剧<窈窕淑女(My Fair Lady)>中脍炙人口的经典歌曲. Bed, bed ,I couldn't go to bed床,床,我不能上床去 My head's too ...
- windbg-.process切换进程(内核)
.process .process 命令指定要用作进程上下文的进程(Set Process Context) .process显示当前进程的EPROCESS,这里显示当前进程为test.exe kd& ...
- Web Applicationservlet,cookie,session
Web Application简介: Web Application NameWEB-INFweb.xml 该web application的配置文件lib 该web application用到的依赖 ...
- 1.Linux常用命令
命令名称:ls 格式: ls [-选项] [参数] 注:中括号表示可选 命令路径:/bin/ls 功能描述:显示信息 例如: 选项 -a 显示所有的文件,包括隐藏文件,(以 . 开头的文件) -l ...
- linux查看是什么操作系统是什么命令
https://zhidao.baidu.com/question/361519585968730492.html
- jQuery之ajax错误调试分析
jQuery中把ajax封装得非常好.但是日常开发中,我偶尔还是会遇到ajax报错.这里简单分析一下ajax报错 一般的jQuery用法如下,ajax通过post方式提交"汤姆和老鼠&quo ...
- 用PS如何把图片调出时尚杂志色
摘自:http://www.3lian.com/edu/2013/07-22/83061.html 01:打开图片,执行调整图层-色彩平衡;调整图层的标记-红色方框内图标. 02:色彩平衡-设置-点选 ...
- SpringMvc的xml配置与annotation配置的例子的区别
1.导入jar包时,要在xml配置基础上加 spring-aop-4.2.2.RELEASE.jar (注解的时候需要) 2.编写controller的时候要annotation需要做相关配置即红色部 ...
- [JSOI2008]完美的对称 题解
题目大意: 首先我们给定一点A以及对称中心S,点A'是点A以S为对称中心形成的像点,即点S是线段AA'的对称中心. 点阵组(X)以S为中心的像点是由每个点的像点组成的点阵组.X是用来产生对称中心S的, ...
- vim 插件之 gist.vim 的安装
用 IntelliJ 的时觉得 create gist 很好用,查了下,发现 vim 下也有这个插件,于是马上配置上. 安装 下载 Gist.vim 解压后进入目录,拷贝文件 cp plugin/gi ...