【问题标题】:check if a place is within an area (place_id)检查一个地方是否在一个区域内(place_id)
【发布时间】:2017-12-22 10:43:24
【问题描述】:

我有一个由他们的 place_id 定义的谷歌地图地点。

地点可以参考:

  • 一个地址,例如221B Baker St, Marylebone, London NW1 6XE, UK : ChIJFbp6NM8adkgRdOYUaV-EQlw
  • 或一般区域,例如London NW1, UK: ChIJoZM_S7EadkgR_T2MfOBVirE

我想知道,使用google maps API,给定地址是inside之前的区域还是near之前定义的地址(距离可以定义为与前一个地方的出生飞行距离)。

【问题讨论】:

  • 不确定到底是什么问题。
  • 如何知道地址是否在 place_id 引用的区域内。或者如何测量地址和 place_id 之间的距离。
  • 有一个开放的特征请求,issuetracker.google.com/35816953,用于返回城市、邮政编码等区域的多边形。使用它,您可以确定地址的纬度/经度是否在内部多边形。我建议给这个问题加注星标。至于在乌鸦飞过时确定地址彼此相距多远,您可以获取每个地址的纬度/经度并使用算法来确定坐标对之间的距离,例如movable-type.co.uk/scripts/latlong.html
  • 谢谢。我现在正在为一个完全不准确的给定位置使用“边界”属性(总是一个矩形)。对于距离,我将使用该算法,即使它对于小距离并不准确。但这对我的用例来说已经足够了。谢谢

标签: google-maps google-maps-api-3 geolocation maps google-geolocation


【解决方案1】:

您可以在 Google 距离矩阵 API 中使用地点 ID 作为起点和终点。因此,您可以使用您的地点 ID 作为起点,使用您要测试的地址作为目的地。调用 API 确定距离。我认为这可能是 2017 年的更新,请参阅:https://developers.google.com/maps/documentation/distance-matrix/intro#RequestParameters

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多