百度(高德、腾讯)地图C#接口开发
百度(高德、腾讯)地图C#接口开发(C/S)
目录
一、相关资料说明 (2)
1. 运行结果展示: (2)
1.1.1百度地图搜索结果导出(接口1) (3)
1.1.2百度地图地点静态图取得、展示(接口2) (4)
1.1.3百度地图地点动态图展示(接口3) (4)
1.2.1高德地图搜索结果导出(接口4) (5)
1.2.2高德地图地点静态图取得、展示(接口5) (5)
1.2.3高德地图地点动态图展示(接口6) (6)
1.3.1腾讯地图搜索结果导出(接口7) (6)
1.3.2腾讯地图地点静态图取得、展示(接口8) (7)
1.3.3腾讯地图地点动态图展示(接口9) (7)
1.4总结 (8)
2.官方接入指引及文档: (8)
2.1百度地图 (8)
2.2高德地图 (8)
2.3腾讯地图 (8)
二、开发环境前期准备 (9)
1.百度地图账号及应用 (9)
2.高德地图账号及应用 (9)
3.腾讯地图账号及应用 (11)
三、配置小结: (13)
四.地图相关接口开发C# (14)
1百度地图(接口1,结果导出) (14)
2百度地图(接口2,静态图) (14)
3百度地图(接口3,动态度) (14)
4高德地图(接口4,结果导出) (14)
5高德地图(接口5,静态图) (15)
6高德地图(接口6,动态图) (15)
7腾讯地图(接口7,结果导出) (15)
8腾讯地图(接口8,静态图) (15)
9腾讯地图(接口9,动态图) (15)
五、联系与源码下载 (16)
一、相关资料说明
本文说明的是百度地图、高德地图、腾讯地图相关接口开发内容。
本示例适合于.NET程序员学习简单的地图接口开发,使用C/S(Winform)展示。也可以使用编译生成的exe,运行后导出地图的检索结果。所有代码均为本人所写,如果有误,还请包涵!
测试、运行时需要外网环境。
源码下载(百度云)在最后。源码目录结构:
1.运行结果展示:
通过百度地图搜索“南京黄焖鸡米饭”,结果截图如下:
如何将圈内结果(地址、名称、电话等)导出呢?本文主要解决的就是这个问题。
如果不是开发者,也可以直接下载可运行程序,直接运行即可。下载路径(百度云)见最后页。
1.1.1百度地图搜索结果导出(接口1)
1.1.2百度地图地点静态图取得、展示(接口2)
双击地址列的任意一个Cell:
1.1.3百度地图地点动态图展示(接口3)
双击名称列的任意一个Cell:
1.2.2高德地图地点静态图取得、展示(接口5)
双击地址列的任意一个Cell:
双击名称列的任意一个Cell:
1.3.1腾讯地图搜索结果导出(接口7)
1.3.2腾讯地图地点静态图取得、展示(接口8)
双击地址列的任意一个Cell:
1.3.3腾讯地图地点动态图展示(接口9)
双击名称列的任意一个Cell:
1.4总结
以上一共9个接口,其中百度、高德、腾讯各3个。
接口1、4、7类似,可以取得检索结果一览;
接口2、5、8类似,可以取得指定检索结果的地址静态图;
接口3、6、9类似,可以取得指定检索结果的地址动态图。
2.官方接入指引及文档:
2.1百度地图
https://www.360docs.net/doc/f015954684.html,/index.php?title=%E9%A6%96%E9%A1%B5
接口1文档:https://www.360docs.net/doc/f015954684.html,/index.php?title=webapi/guide/webservice-placeapi 接口2文档:https://www.360docs.net/doc/f015954684.html,/index.php?title=static
接口3文档:https://www.360docs.net/doc/f015954684.html,/index.php?title=jspopular
2.2高德地图
https://www.360docs.net/doc/f015954684.html,/
接口4文档:https://www.360docs.net/doc/f015954684.html,/api/webservice/guide/api/search/
接口5文档:https://www.360docs.net/doc/f015954684.html,/api/webservice/guide/api/staticmaps/
接口6文档:https://www.360docs.net/doc/f015954684.html,/api/javascript-api/guide/create-map/show-map/
2.3腾讯地图
https://www.360docs.net/doc/f015954684.html,/
接口7文档:https://www.360docs.net/doc/f015954684.html,/webservice_v1/guide-search.html
接口8文档:https://www.360docs.net/doc/f015954684.html,/static_v2/index.html
接口9文档:https://www.360docs.net/doc/f015954684.html,/javascript_v2/index.html
二、开发环境前期准备
1.百度地图账号及应用
进入百度地图开放平台首页
(https://www.360docs.net/doc/f015954684.html,/index.php?title=%E9%A6%96%E9%A1%B5),使用百度账号登录。
进入API控制台(https://www.360docs.net/doc/f015954684.html,/apiconsole/key),点击“创建应用”,依次填写相关信息:
点击“提交”即可:
创建应用最关键的就是生成了访问应用的AppKey,这个Key后续将应用在程序中,注意保存好。
2.高德地图账号及应用
进入高德地图开放平台首页
(https://www.360docs.net/doc/f015954684.html,/),使用高德账号登录。
进入API控制台(https://www.360docs.net/doc/f015954684.html,/dev/#/),点击“创建应用”,依次填写相关信息:
点击“创建”,再点击“添加新K ey”:
填写必要的信息:
点击“提交”即可:
创建应用最关键的就是生成了访问应用的Key,这个Key后续将应用在程序中,注意保存好。
3.腾讯地图账号及应用
进入腾讯地图开放平台首页
(https://www.360docs.net/doc/f015954684.html,/),使用腾讯QQ账号登录。
进入控制台(https://www.360docs.net/doc/f015954684.html,/mykey.html),点击“创建新密钥”,依次填写相关信息:
点击“提交”后,生成密钥:
如下所示:
创建应用最关键的就是生成了访问应用的AppKey,这个Key后续将应用在程序中,注意保存好。
三、配置小结:
到此,百度地图、高德地图、腾讯地图的应用配置基本完成。通过上面的步骤,我们应该已经知道以下信息:
①百度地图AppKey;
②高德地图Key;
③腾讯地图Key。
以上Key后续在程序中都有使用,务必准备好。本人提供的代码中会把有关Key都删掉,运行时,需将Key正确替换好。
需要修改Key的位置有以下地方:
①FrmBDPlaceSearch.cs:
///
public const string AKKey="Your Key";
②BaiduMapResultExport.htm:
百度地图需要修改以上2个地方,高德、腾讯地图与百度地图类似,也只需要修改各自的2个地方即可,不再说明。
也可以在代码中检索整个工程,关键字为“Your Key”,检索结果如下:
四.地图相关接口开发C#
以下说明都是以百度地图为例,高德地图、腾讯地图类似,所以不再单独说明。特别之处,将会指出。
1百度地图(接口1,结果导出)
代码文件:FrmBDPlaceSearch.cs
实现功能:
①根据关键字检索:btnSearch_Click
每页数量可选择:全部、10、20。选择为全部时,循环调用接口,取得全部数据。
检索结果为json格式,通过解析转化为DataTable,并绑定到DataGridView上。
注意:百度地图的页码从0开始。使用时,尽量选择每页数量为10或20,否则可能因为接口性能问题,而不能得到结果。
②检索结果导出:btnCopy_Click
导出时,将自动填充到剪贴板,并在exe目录下生成txt文件(可粘贴到excel文件)。
2百度地图(接口2,静态图)
代码文件:FrmBDResultMap.cs
实现功能:
①静态图的展示,并生成png文件到exe目录下。
②可选择生成图片的大小(宽、高),以及地图缩放等级等。
3百度地图(接口3,动态度)
代码文件:FrmBDResultMap2.cs
资源文件:BaiduMapResultExport.htm
注意:资源文件需放在exe同目录下。
实现功能:
①动态度的展示。
4高德地图(接口4,结果导出)
同百度地图接口1。
注意:高德地图页码从1开始