过滤靠近路线的 POI
Filter POIs that are close to a route
我有一个兴趣点列表(例如汽车休息区)。
用户选择起点和终点。
这会生成一条路线。
- 我如何以编程方式过滤靠近该路线(例如距道路 50 米)的 POI?
Google Maps SDK
或 OSRM
可以提供此功能吗?
谢谢,
尼克
1。你必须找出一个兴趣点到道路的距离。
为了实现这一点,您必须以数学方式存储您的道路:
- 你可以采样道路上的等距点并将它们存储在一个数组中(更实用,不太精确)然后计算POI与数组中每个点的距离,然后保存次要结果并重复整个每个兴趣点的处理。
- 您可以在函数中存储道路(越来越复杂,但更精确)。现在您有了这个功能,您可以计算与您的 POI 的相同距离,取最小值并对所有 POI 重复。
2。 Google Distance Matrix 其实可以做到这一点
使用 this Api 你可以计算距离到 2500 个起点 * 目的地点。
结果会给你一个行数组,每行对应
to an origin, and each element within that row corresponds to a pairing of the origin with a destination value.
请求示例:
https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=32.777211,35.021250&destinations=32.778663,35.015757&key=YOURAPIKEY
这对您的目标非常有用,因为可以让您指定多个点来计算距离。
我有一个兴趣点列表(例如汽车休息区)。
用户选择起点和终点。 这会生成一条路线。
- 我如何以编程方式过滤靠近该路线(例如距道路 50 米)的 POI?
Google Maps SDK
或OSRM
可以提供此功能吗?
谢谢, 尼克
1。你必须找出一个兴趣点到道路的距离。
为了实现这一点,您必须以数学方式存储您的道路:
- 你可以采样道路上的等距点并将它们存储在一个数组中(更实用,不太精确)然后计算POI与数组中每个点的距离,然后保存次要结果并重复整个每个兴趣点的处理。
- 您可以在函数中存储道路(越来越复杂,但更精确)。现在您有了这个功能,您可以计算与您的 POI 的相同距离,取最小值并对所有 POI 重复。
2。 Google Distance Matrix 其实可以做到这一点
使用 this Api 你可以计算距离到 2500 个起点 * 目的地点。 结果会给你一个行数组,每行对应
to an origin, and each element within that row corresponds to a pairing of the origin with a destination value.
请求示例:
https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=32.777211,35.021250&destinations=32.778663,35.015757&key=YOURAPIKEY
这对您的目标非常有用,因为可以让您指定多个点来计算距离。