【发布时间】:2018-03-25 02:33:36
【问题描述】:
我正在使用 snapToRoads 生成静态地图(因为它接受多个航点)。
鉴于我有坐标列表,我如何计算这些坐标之间的距离并将其相加得到总行驶距离。
或者在 ruby 代码中还有其他更好的方法吗?
快速道路请求示例:
waypoints = [arrays of coordinates]
snap_to_roads_url = "https://roads.googleapis.com/v1/snapToRoads?path=#{waypoints.join('|')}&interpolate=true&key=API_KEY"
snappedPoints = HTTParty.get(URI.encode(snap_to_roads_url))
# Store snapped polyline returned by the snap-to-road service
snappedPoints['snappedPoints'].each do |snap|
snappedCoordinates << "#{snap['location']['latitude']},#{snap['location']['longitude']}"
placeIdArray << snap['placeId']
end
静态地图请求:
https://maps-api-ssl.google.com/maps/api/staticmap?&size=650x550&sensor=false&zoom=16&markers=size:small&maptype=roadmap&path=weight:3%7Ccolor:red%7C54.57424022982199,-1.2351261042386523|54.57423420000001,-1.2351275000000002|54.57423420000001,-1.2351275000000002 ...many more
如果我有起点和目的地坐标,我还知道如何在上述请求中包含标记。
请帮忙!
【问题讨论】:
-
你为什么不读一下haversine公式。这是一个链接en.wikipedia.org/wiki/Haversine_formula。我认为它可以提供帮助,有几个获取两个坐标之间距离的示例。这是一个很好的例子github.com/kristianmandrup/haversine
-
您能否提供您的 snapToRoads 请求示例(编辑您的 API KEY)?
-
问题已更新。
-
您添加了静态地图调用,而不是 snapToRoads 请求。您在计算它们之间的距离并将其相加以获得总距离时遇到什么问题?
标签: ruby google-maps google-roads-api