gpt4 book ai didi

google-maps - 在不使用 javascript api 的情况下显示谷歌方向网络服务的结果

转载 作者:行者123 更新时间:2023-12-04 15:44:27 24 4
gpt4 key购买 nike

我正在开发一个应用程序,它将在 2 点之间找到方向,将其显示在谷歌地图上并将其存储在服务器端,以便我可以在需要时再次渲染它,并将一条路线与另一条路线进行比较。
我已经成功使用了google maps api web serivce找到路线,我也使用了google maps javascript v3使用 DirectionsRenderer 查找路线并将其显示在 map 上.
这两个服务都返回相似的 JSON,但 JSON 的属性名称不同(参见下面的示例 1)。更重要的是,JS api 从一个调用到另一个调用返回不同的 lat/lng 属性名称(参见下面的示例 2)。
所以问题是我不能使用从服务器端 Web 服务调用获得的 JSON 并将其直接传递给 javascripts DirectionRenderer 类来显示路由。此外,每次在 map 上显示路线时,我都必须进行 JS 调用。这将导致不必要地使用我的配额。有没有更好的方法来做到这一点。我已经解决了以下问题,但我实际上无法得到答案 herehere

示例 1:

网络服务调用结果:

{
"routes" : [
{
"bounds" : {
"northeast" : {
"lat" : 12.9198217,
"lng" : 77.6124895
},
"southwest" : {
"lat" : 12.912811,
"lng" : 77.60924989999999
}
},
.....

这没有“路径”属性。

Javascript V3 调用结果:
{
"routes": [
{
"bounds": {
"ta": {
"d": 12.91281,
"b": 12.919820000000001
},
"ga": {
"b": 77.60925,
"d": 77.61249000000001
}
},
......
"path": [
{
"d": 12.913920000000001,
"e": 77.60928000000001
},
{
"d": 12.913960000000001,
"e": 77.60958000000001
},
{
"d": 12.91398,
"e": 77.61
}
],
..........

示例 2:
另一个 Javascript V3 调用结果:
{
"routes": [
{
"bounds": {
"Aa": {
"k": 12.91281,
"j": 12.919820000000001
},
"qa": {
"j": 77.60925,
"k": 77.61249000000001
}
},
.....
"path": [
{
"k": 12.91281,
"A": 77.60925
},
{
"k": 12.913920000000001,
"A": 77.60928000000001
}
],
.........

最佳答案

你可以这样做,但有几个问题。

首先,确保您的应用符合此处的第 10.5.d 点:
https://developers.google.com/maps/terms#10-license-restrictions

与来自 Directions API Web 服务的 JSON 响应具有一致的命名字段不同,来自 JavaScript Directions 服务的 JSON 响应不是供您解析的。相反,您需要访问 DirectionsResult对象作为 JavaScript 对象,其中包含 google.maps.LatLng对象,例如routes[0].legs[0].steps[0].start_location
https://developers.google.com/maps/documentation/javascript/directions#DirectionsResults
https://developers.google.com/maps/documentation/javascript/directions#Steps

对于您从 Directions API Web 服务获得的路线,有多种方法可以在 JavaScript API 上显示它。我的偏好是将 JSON 响应“翻译”成 DirectionsResult目的。您可以在您的服务器或 JavaScript 中执行此操作,但我认为前者更好。

或者,您可以重新查询路线服务(使用 JavaScript 服务)以再次获取路线。这不仅会消耗额外的配额,还可能返回不同的(更新的)路由。这是好是坏,这取决于你想要什么。

关于google-maps - 在不使用 javascript api 的情况下显示谷歌方向网络服务的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22450061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com