【问题标题】:How street name is detected in google maps如何在谷歌地图中检测街道名称
【发布时间】:2015-07-26 16:18:02
【问题描述】:

我想知道这个谷歌地图是如何识别世界上每条街道的街道名称的。谷歌地图如何能够仅通过纬度和经度信息找到用户所在的当前街道。

【问题讨论】:

  • 实际上我想知道的是这个地理编码过程如何工作的确切实现,而不仅仅是使用。对于我的项目,我需要从特定道路的 10m 处检测位置并显示可能在同一条道路本身发生变化的特定消息
  • 抱歉误解了您的要求,我相信没有一种方法可以做到这一点。如果您有可以使用 lat 和 long 为您提供地址的数据库,那么您可以使用该数据库或使用邮政编码查询该数据库。否则,我强烈建议您首先阅读纬度和经度与地球上任何位置的关联度,然后自行开发所有内容,这将是多余的任务。很久以前,我在 Postgres thutat.com/web/en/programming-and-tech-stuff/web-programming/… 中使用这种查询来获取位置详细信息
  • @RamIndani 数据库将无法获取 hosuenumber。这是一项复杂的任务,数据库无法计算(除非有特殊的地址匹配插件)。它是针对每个数字路线图提供商的。

标签: android google-maps gps location latitude-longitude


【解决方案1】:

Google 使用来自 TomTom 和其他数据提供商的数据。
包含数字路线图的 TomTom 产品称为 MultiNet。 在该规范中,您可以了解门牌号和道路名称的确切组织方式。

首先通过将点与道路连接进行数学运算来找到地址。 道路连接线是一条街道交叉口与另一条街道交叉口之间的线。 然后确定该(poly-)线内的相对位置。 例如,坐标与路段 x 相关,位于路段起点 30% 处。

这给出了街道名称,因为每个链接都分配了一个街道名称。 要获得街道编号,请查找起始门牌号和链接门牌号的结尾,并在两者之间进行插值(例如,使用上面的 30% 的值)。

当知道除了纬度、经度之外的运动方向时,很清楚是指左车道还是右车道。在查找开始和结束门牌号时也会考虑这一点。

实际上,房屋编号匹配更复杂,因为不同道路存在不同的编号方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    • 2011-11-07
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    相关资源
    最近更新 更多