首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌地图-找到靠近我路线的城市

谷歌地图-找到靠近我路线的城市
EN

Stack Overflow用户
提问于 2011-05-12 19:33:38
回答 1查看 4.7K关注 0票数 5

我想要一张从A点到B点的路上可能经过的所有城市的名单

投入-

点A为原点

B点为目的地

输出:

A点和B点之间的路线(这很明显)

离我的路线近X英里的城市/城镇/地方的清单。

我想向用户提供一份可供考虑的可能途径点(名胜古迹、公园等)。

有什么办法吗?

EN

回答 1

Stack Overflow用户

发布于 2011-05-13 10:39:43

我相信你需要在两阶段的过程中:

第一步是计算一条代表A和B之间的路线的折线(正如你所说的,这是显而易见的)。例如,您可以使用Bing Maps REST (http://msdn.microsoft.com/en-us/library/ff701717.aspx)或SOAP (http://msdn.microsoft.com/en-us/library/cc966826.aspx)路由服务来实现这一点。

当您从这些服务中请求路由时,请确保指定要将完整的路由路径包括在结果中( REST的rpo参数或SOAP的RoutePathType.Points参数)。这将为您提供一个用于构建路由路径的所有点的数组,否则您只会得到路线点的摘要(即只有路线上需要做的那些点--更改道路等)。

一旦得到了点的数组,第二步就是确定在这些点之间画出的路径范围内的所有位置。虽然有许多‘ll服务允许您查询位于单个点x距离范围内的位置(例如,Bing地图搜索服务和geonames findNearby服务),但我不知道有任何’ll服务提供这种功能,所以您必须自己提供。

这样做的一种方法是使用Server 2008或Server,使用从allCountries加载的geonames http://download.geonames.org/export/dump/数据转储。然后,您可以从路由路径中的点构造一个LineString几何,并使用如下查询查询数据库中的位置列表:

从allCountries Location.STDistance(@RoutePath) <= 1000中选择*;

Johannes Kebeck在必应SOAP路由服务和SQL的基础上发布了一个使用这种方法的示例,您可以在这里找到:http://jkebeck.wordpress.com/2010/06/26/find-near-route-for-bing-maps-powered-by-sql-azure-spatial/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5983462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档