【转】【完全开源】百度地图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等其他脚本。所有轮子都是手工打造。

Github地址

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控件。

参考帮助

1.百度地图API文档

2.Json.NET

3.Json可视化

说明:

1)本篇文章只是简单的介绍一些本项目大概内容,之后会介绍几个关键技术,比如百度坐标转换、百度地图瓦片行列号计算(百度地图与其他地图不一样)等。如果有需要的朋友可以关注本博客。

2)项目中我自己知道的就有好几个bug,由于担心百度地图API升级导致之前写好的功能不能使用,所以快马加鞭完成一版。之后我会继续完善本项目。

注意:本项目及其所有源代码均遵循MIT开源协议。觉得有帮助的可以点个赞,开源有益。

【转】【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件的更多相关文章

  1. 【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件

    目录 概述 功能 如何使用 参考帮助 概述 源代码主要包含三个项目,BMap.NET.BMap.NET.WindowsForm以及BMap.NET.WinformDemo. BMap.NET 对百度地 ...

  2. C# 调用百度地图Web服务API

    最近公司项目中需要根据两个地点的交通路径和距离做一些数据推荐,为了程序的稳定和用户体验所以想从百度地图 API 采集数据保存到数据库中,经过一翻研究之后选定了百度地图 Web 服务 API 中的 Di ...

  3. C# 调用百度地图 Web 服务 API

    最近公司项目中需要根据两个地点的交通路径和距离做一些数据推荐,为了程序的稳定和用户体验所以想从百度地图 API 采集数据保存到数据库中,经过一翻研究之后选定了百度地图 Web 服务 API 中的 Di ...

  4. Node.js调用百度地图Web服务API的Geocoding接口进行点位反地理信息编码

    (从我的新浪博客上搬来的,做了一些修改.) 最近迷上了node.js以及JavaScript.现在接到一个活,要解析一个出租车点位数据的地理信息.于是就想到使用Node.js调用百度地图API进行解析 ...

  5. 通过百度地图API实现搜索地址--第三方开源--百度地图(三)

    搜索地址功能是建立在能够通过百度地图API获取位置的基础上 通过百度地图定位获取位置详情:http://www.cnblogs.com/zzw1994/p/5008134.html package c ...

  6. 通过百度地图API显示当前位置在地图上(图标显示)--第三方开源--百度地图(二)

    1.下载百度地图的demo,下载地址:http://lbsyun.baidu.com/sdk/download?selected=mapsdk_basicmap,mapsdk_searchfuncti ...

  7. 通过百度地图API定位--第三方开源--百度地图(一)

    1.把百度地图定位API(下载地址:http://lbsyun.baidu.com/sdk/download?selected=location)里面的libs复制到自己的项目libs里面 2.进行相 ...

  8. 百度地图web api使用案例

    效果如下: 1.获取位置的经纬度: 如坐标:114.110033,22.541098 获取经纬度: http://api.map.baidu.com/lbsapi/getpoint/index.htm ...

  9. C#怎么调用百度地图Web API

    直接上代码: public ActionResult FindMileage() { string s; HttpWebRequest req = (HttpWebRequest)HttpWebReq ...

随机推荐

  1. FPGA——流水灯(一)

    对于FPGA的结构原理,先不进行全面的了解,先能根据教程程序看得懂,写得出来跑起来.慢慢的了解程序运行的原理,各种语法的使用. 今天对流水的程序有一个认识,熟悉软件的使用,语法规则,原理.以正点原子的 ...

  2. Centos7的防火墙关闭

    第一步.centos7安装service 第二步. 或者可以不用service,有另一个办法.

  3. k3生成解决方案时错误处理

    F6一键生成,会出现进程使用的错误,关掉了游览器,bos设计器,以及重启了本机iis站点,都没解决,打开任务管理器发现,bos.ide没有关掉

  4. 41_redux_counter应用_react-redux版本

    问题: redux与react组件的代码耦合度太高 编码不够简洁 react-redux 1)是一个react插件库 下载: npm install --save react-redux@5.0.6 ...

  5. 机械革命 x7ti-s 1周年使用报告

    2017年11月19日在京东入手一台机械革命x7ti-s(https://item.jd.com/5048818.html)当时各种优惠返现什么的最终8399.5到手(是1060显卡的机械版).前几周 ...

  6. install linux on VM

    1. install完成之后,没有UI,可以在安装的向导过程中配置,先点击language,选择英语,然后再software那里 勾选,server with gui->KDE, 一定要在看到的 ...

  7. jquery遍历----end()方法

    定义和用法 end() 方法结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态. 举个栗子: <body> <ul class="first"> ...

  8. win10x64启动vs2010报错:未能加载C:\Windows\Microsoft.NET\Framework\v2.0.50727\microsoft.vsa.tlb

    换了新电脑,因为是win10x64系统,可能是兼容性的问题吧. 启动vs2010,在启动画面直接报错:未能加载C:\Windows\Microsoft.NET\Framework\v2.0.50727 ...

  9. 【C++】C++中的string类的用法总结

    相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...

  10. 随想:目标识别中,自适应样本均衡设计,自适应模型结构(参数可变自适应,模型结构自适应,数据类别or分布自适应)

    在现在的机器学习中,很多人都在研究自适应的参数,不需要人工调参,但是仅仅是自动调参就不能根本上解决 ai识别准确度达不到实际生产的要求和落地困难的问题吗?结论可想而知.如果不改变参数,那就得从算法的结 ...