【问题标题】:Why is the `sll` query parameter for a Maps URL being (sort of) ignored?为什么地图 URL 的 `sll` 查询参数被(某种程度上)忽略了?
【发布时间】:2025-11-23 19:25:01
【问题描述】:

根据variousreferences,Google 地图有一个名为sll 的查询参数,它执行以下操作:

商家搜索点的纬度、经度 应该执行。您可以使用它来执行偏心 业务搜索。谷歌使用它,所以“链接到这个页面”可以记录地图 在执行业务搜索后已使中心移动。什么时候 请求路线 map.getBounds().getSouthWest().toUrlValue() 返回 maps.google.com 使用相同的值。

因此,例如,如果 (43.464258, -80.52041) 恰好在安大略省的滑铁卢,而 (42.24370, -82.98320) 恰好在安大略省的温莎(数百公里之外),那么我对上述文档的解释是以下查询:

https://maps.google.ca/maps?saddr=43.464258,-80.52041&daddr=mcdonalds&sll=42.24370,-82.98320

将搜索“麦当劳”滑铁卢,温莎的一些麦当劳。

不幸的是,事实并非如此(click for yourself 看看!)。它最终从saddr 点搜索到最近的麦当劳到那个点sll 的值根本不考虑在内。

但这就是奇怪的地方!如果我完全omit sll 参数,那么地图会做一些完全出乎意料的事情:它会随机选择多伦多的一些麦当劳(距离滑铁卢或很多公里的城市em>温莎)。我需要添加一些 sll 参数(对于任何值)以使 Maps 返回滑铁卢的结果(即使我要求的是温莎的结果)。

我是否误解了有关此参数的所有各种文档来源?这是地图端的错误吗?而且,最重要的是,是否有任何可行的方法来做我想做的事情,即使它根本不涉及 sll 参数?

【问题讨论】:

    标签: android google-maps geolocation geocoding


    【解决方案1】:

    我可以通过一个简单的查询让它工作:

    from:43.464258,-80.52041 to:mcdonalds near 42.24370,-82.98320

    这给出了预期的结果。如果没有关键字near,它将无法工作。

    如果您有城市名称,也可以搜索from:43.464258,-80.52041 to:mcdonalds, Windsor

    关于sll(和sspn)参数,它不适用于方向AFAIK。它仅适用于搜索单个位置。

    【讨论】: