【完全开源】百度地图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开源协议。觉得有帮助的可以点个赞,开源有益。

作者:周见智 
出处:http://www.cnblogs.com/xiaozhi_5638/ 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

分类:  .NET Framework

本文转自周见智博客博客园博客,原文链接:http://www.cnblogs.com/xiaozhi_5638/p/4747954.html,如需转载请自行联系原作者
目录
相关文章
|
26天前
|
Java 物联网 C#
C#/.NET/.NET Core学习路线集合,学习不迷路!
C#/.NET/.NET Core学习路线集合,学习不迷路!
|
7天前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
47 13
|
29天前
|
Java 物联网 编译器
C#一分钟浅谈:.NET Core 与 .NET 5 区别
本文对比了 .NET Core 和 .NET 5,从历史背景、主要区别、常见问题及易错点等方面进行了详细分析。.NET Core 侧重跨平台支持和高性能,而 .NET 5 在此基础上统一了 .NET 生态系统,增加了更多新特性和优化。开发者可根据具体需求选择合适的版本。
45 7
|
26天前
|
人工智能 开发框架 前端开发
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
|
26天前
|
开发框架 网络协议 .NET
C#/.NET/.NET Core优秀项目和框架2024年10月简报
C#/.NET/.NET Core优秀项目和框架2024年10月简报
|
29天前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
|
15天前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
|
15天前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(下)
本文接续前文,深入讲解了在Windows环境下使用C#和ADO.NET操作南大通用GBase 8s数据库的方法。通过Visual Studio 2022创建项目,添加GBase 8s的DLL引用,并提供了详细的C#代码示例,涵盖数据库连接、表的创建与修改、数据的增删查改等操作,旨在帮助开发者提高数据库管理效率。
|
25天前
|
人工智能 开发框架 安全
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
|
26天前
|
网络协议 Unix Linux
精选2款C#/.NET开源且功能强大的网络通信框架
精选2款C#/.NET开源且功能强大的网络通信框架