【问题标题】:how to check whether a place is present in between a route using google maps api如何使用google maps api检查路线之间是否存在某个地方
【发布时间】:2012-02-21 04:37:44
【问题描述】:

您好,我正在开发一个拼车项目(用户可以提供电梯和接送人)这个问题可以通过一个例子更好地理解


示例:
假设一个人 A 从一个地方 startA 到 endA 并准备在他的车上提供一些座位。那么一个人 B 是这样的,他的起始位置 startB 在 startA 到 endA 之间,他的 endB 可能会也可能不会在 startA 到 endA 之间。
那么如何使用google maps api检查startB是否在startA到endA之间
我正在用 PHP 做我的项目。

【问题讨论】:

    标签: php google-maps-api-3 connection-pooling


    【解决方案1】:

    这听起来像是“沿路线搜索”问题,Google Maps API 没有与之完全匹配的问题,但有一种方法可以很好地满足您的目的。

    假设您可以将计算委托给浏览器的 JavaScript 引擎。然后,您可以请求从 startA 到 endA 的路线,并使用 RouteBoxer 和阈值 T1,即 A 愿意偏离原始路线多远以选择 B。

    使用该阈值,您可以构建一组边界框,在距离 T1 内沿着从 startA 到 startB 的路线进行搜索,并检查 startB 是否包含在其中一个框内。

    还有一个阈值 T2,即 B 愿意被丢弃的人 B 离 endB 多远,但是您可以通过请求(在不同的请求中)从 endA 到 endB 的驾驶和/或步行方向轻松计算出这个阈值。如果上述情况(startB 在路线的 T1 范围内)为真,但 endA 到 endB 的距离大于 T2,那么您可以警告 B 或完全放弃路线。

    这个项目听起来很有趣,但让我警告您一件事:您不想使用 PHP 从您自己的服务器向 Google Maps API(特别是 Directions API)发送请求。当输入由用户实时提供时,则不然。相反,您应该让每个用户的浏览器使用 JavaScript 来执行请求。否则,当您的网站变得流行时,它将用完该服务的每日津贴。阅读Geocoding Strategies了解更多信息。

    【讨论】:

    • 但是我的项目是这样的,用户需要向我发送他们的请求(通过手机短信)然后在服务器上我需要操作它并需要向谷歌地图发送请求,有什么办法吗这样我就可以向 google maps api 发送比分配更多的请求。
    • 如果你唯一的界面是短信,我想没有涉及到浏览器。这可能需要额外的服务配额,恐怕只有 Maps API for Business 许可证才能使用该 atm。也许你可以申请助学金? earth.google.com/outreach/grants.html
    猜你喜欢
    • 2014-01-25
    • 2015-09-30
    • 2013-12-28
    • 1970-01-01
    • 2017-06-26
    • 2013-03-29
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    相关资源
    最近更新 更多