西藏旅游地图社区

咫尺数据之 高德地图公交线路站点数据

OpenGiser2018-04-17 15:09:27

  高德地图提供的开放数据接口可以说是相当丰富,当前可以分为两类,一类为前端接口,主要以JAVAScript(后文简称为JS)脚本技术来实现接口调用。一类为后台接口,主要以JAVA、PHP等后台技术来实现接口调用。在本文中,详细介绍如何利用高德地图JS API来实现获取公交线路站点数据。

  • 首先要在HTML头部中引用高德API,代码如下图所示:   

  • 为了能够引用高德地图对象,要有一个div地图容器,代码如下图所示:

       

  • 建立公交线路查询函数,其实就是主要调用了高德地图的线路查询类,注意在new线路查询类时,其中pageIndex指的是返回数据的页码索引,pageSize指的是一页数据的条数,如果我们需要返回一条线路的双向数据,那么这里就要填2。值得更加注意的是,extension这一项一定要填写"all",否则是无法得到线路具体的坐标位置的。代码如下图所示:

       

  • 当搜索完毕并无错误发生时,程序会调用lineSearch_Callback这个回调函数,这个函数中的result参数就是返回的数据详情,我们接下来看看我们通过这个回调函数都能得到哪些数据,代码如下图所示:

  • 最后一定不要忘记去调用lineSearch函数,代码如下图所示:

       接下来,我们详细分析下所获得线路坐标点数据、线路途经站点数据以及站点坐标点数据。我们首先来看下线路坐标点数据,如下图所示:


       从图中可以看出,这条公交线路一共有259个坐标点,每一个坐标点都包含了lng和lat经纬度坐标值,利用这个坐标值就可以构建出来关于公交线路的矢量数据。

       然后我们再来看看线路途经站点数据长什么样,如下图所示:

       从图中可以看出,这条公交线路一共有22个公交站点,每一个站点对象中都包含了ID、位置信息、站点名称、站序(站点排序)。

       本期相关源码下载地址:链接:http://pan.baidu.com/s/1hsCGoYS 密码:itia(注意,一定要加上自己key值才可以正常运行哦!)

       关于如何利用原始坐标点数据去构建shp等矢量文件,请诸君耐心等待后续文章的更新。。。