我正在开发一个应用程序,它将查找两个点之间的方向,显示在Google地图上并存储在服务器端,以便在需要时可以再次呈现,并比较一条路线与另一条路线。
我已成功使用Google地图API Web服务来查找路线,并且我还使用了Google地图Javascript v3来查找路线并使用DirectionsRenderer在地图上显示路线。
这两种服务返回类似的JSON,但JSON属性名称不同(请参见下面的示例1)。更重要的是,JS API从一个调用到另一个调用返回的lat/lng属性名称不同(请参见下面的示例2)。
因此,问题是我无法使用从服务器端Web服务调用获得的JSON并直接将其传递给javascripts DirectionRenderer类来显示路线。此外,我必须每次在地图上显示路线时都进行JS调用。这将导致我的配额不必要的使用。有没有更好的方法来解决这个问题?我已经阅读了以下问题,但实际上我无法得到答案这里和这里
这里没有“路径”属性。 Javascript V3 调用结果:
我已成功使用Google地图API Web服务来查找路线,并且我还使用了Google地图Javascript v3来查找路线并使用DirectionsRenderer在地图上显示路线。
这两种服务返回类似的JSON,但JSON属性名称不同(请参见下面的示例1)。更重要的是,JS API从一个调用到另一个调用返回的lat/lng属性名称不同(请参见下面的示例2)。
因此,问题是我无法使用从服务器端Web服务调用获得的JSON并直接将其传递给javascripts DirectionRenderer类来显示路线。此外,我必须每次在地图上显示路线时都进行JS调用。这将导致我的配额不必要的使用。有没有更好的方法来解决这个问题?我已经阅读了以下问题,但实际上我无法得到答案这里和这里
示例1:
Web服务调用结果:
{
"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
}
],
.........