尝鲜云端地图服务 Azure Location Based Service Preview

网友投稿 280 2022-10-17

尝鲜云端地图服务 Azure Location Based Service Preview

就在不久之前,Azure发布了基于位置的服务(LBS, Location Based Service)。这个服务归属在Azure IoT服务类别下,猜测目的是便于提供有定位、导航和路径规划的IoT解决方案。LBS这个词你肯定不会陌生,因为你用的很多应用都是用了LBS的服务,从饿了么到陌陌,从小黄车到支付宝红包…

在Azure里启用LBS服务很简单,开启之后除了提供订阅的Key,几乎也没什么配置的地方。微软给这个服务提供了开发使用文档:REST API,几小时之内你就能写出自己的调用地图的应用。从逻辑原理上说,微软提供了一套javascript/css 插件接口,以及一个支持地图服务的网站。接下来我们就开始做第一件事。

×××……是的,js和css所在的网站conding了中心位置,默认是在洛杉矶,顺着10号公路一路开,就到了Santa Monica海滩,满满的回忆啊~在搜索框里可以进行搜索。

你会发现有很多的限制,后面我们再说原因。接下来,开始我们的学习之旅。看看第一个示例 Search。当然先把给换了,后面就不重复了。打开代码学习一下它是怎么工作的。其实流程基本就是构造一个URL请求字串,然后把返回的数据进行处理。默认搜索的是加油站,我把它换成了hotel,提交给LBS的服务网站之后,按照提交的query进行查询,然后把返回的结果处理后显示在网页上。

显示过程使用了Popup方法,也就是代码里的atlas.Popup(),可以在站点查询所有LBS服务使用的方法:Westin Bellevue”和地址,还显示了经纬度。这个酒店是前年参加MVP全球峰会我住的地方,满满的回忆+1。我们把经纬度复制备用。

接下来的Route路径规划示例,会显示如何查询从起点到终点的路径查询,并在地图中显示出来。一样,我把默认的加油站的经纬度,改成了我们刚才查询到的酒店的经纬度。这里会看到,使用了atlas.data的Point函数,这个函数对应了Position,文档显示这是一个三维坐标,经纬度是必须的,高度是可选的。可参考:

这也就是说,IoT应用可以直接把GPS读取的位置信息处理后,传递给LBS服务进行地图展现。

对于返回的数据绘制,使用了atlas.data的Feature,不过没看到详细的说明,我试探着把icon的描述从pin-round-blue改成了pin-round-red,于是地图中起点Microsoft就从蓝色变成了红色。

更复杂一点的例子,就是针对路径查询设置一些限制,使得路径能够规避一些不能/不适合通行的道路。这个例子是traceRoute。如代码中高亮部分,对通行条件做了针对卡车的限制,因此查询的两条线路会导致不同的线路结果。

找了一下,查询限制说明可以参考:Point Bridge,而汽车走90号公路。可是我运行后是这样的……

我猜现在西雅图是半夜,没啥车,所以卡车汽车都走上面了。那怎么体现按照不同条件限制选择不同线路呢?有办法。

truckRouteUrl += “&routeType=shortest”

我让卡车去掉限制,走最短线路~这下效果出来了~

那么哪些地方的地图可以查询到什么程度呢?可以参考:

地图编码覆盖区域,能够查询城镇,道路,门牌等

交通覆盖区域,能够查询路况信息,有事故标注、流量情况。

即使是美国的地图,Azure LBS的和Bing的,也有差异。

Bing的地图显示建筑信息更全一点,美国的地图提供者是HERE,也就是最早的Nokia?

如果你下载过Windows 10里的地图,你就知道至少日本、朝鲜韩国的地图是没有的,而在Bing地图中,日本的地图供应商是Zenrin。

而国内的地图供应商是Navinfo。

有关地图供应商说明可参考:https://support.microsoft.com/zh-cn/help/17831/about-bing-data-suppliers

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:阿里云平台搭建高可用高负载SFTP服务
下一篇:springboot集成redis并使用redis生成全局唯一索引ID
相关文章

 发表评论

暂时没有评论,来抢沙发吧~