1

我们正在使用谷歌地图服务以 dragdir 格式获取两点之间的方向数据:

http://maps.google.com/maps?f=d&hl=en&saddr=43.2602841679131,16.6526985168457&daddr=43.5602841679131,16.7526985168457&ie=UTF8&0&om=0&output=dragdir

我们不计其数的问题,表现为通过特定 ISP(例如 t-com)连接到互联网的用户的方向路径被绘制、缩放、旋转或平移或任意组合。

此外,我们在 android 原生应用程序中使用相同的模式,我们从未遇到过此类问题。

您是否有任何建议或良好做法如何避免所描述的问题?

这是从 maps api 返回的 dragdir json 对象的示例:

{tooltipHtml:" 
    (151\x26#160;km / 1 hour 51 mins)",polylines:[{id:"route0",points:"e}ruGis|eBsGdPiBxJ{Ab
    h@aAdKoDjNeDlHuC~Di@bBsAnPqAlGwDpGmDbCkGrO
aCzJ.. more scrambled data here ..?B",numLevels:4,zoomFactor:16}]}

谢谢!

4

2 回答 2

0

如果您的页面是从世界的不同地方访问的,那么很可能会导致方向不同。从开发者指南的区域偏向部分:

Google Maps API 路线服务返回受您加载 JavaScript 引导程序的域(地区或国家/地区)影响的地址结果。(由于大多数用户加载http://maps.google.com/ 这会将隐式域设置为美国。)如果您从不同的受支持域加载引导程序,您将获得受该域影响的结果。例如,搜索“旧金山”可能会从加载 http://maps.google.com/(美国)的应用程序返回的结果与加载 http://maps.google.es/(西班牙)的应用程序返回的结果不同。

您可以通过将以下内容添加到请求 URL 参数来强制区域偏差:

[after sensor=false, etc.] &region=US

这会将路线服务设置为返回偏向特定区域(在本例中为美国)的结果。

于 2012-05-11T21:17:17.263 回答
0

我相信谷歌正在对输出进行特定区域的更改。

我建议你直接调用你的服务器,然后从你的服务器调用谷歌服务以获得统一的结果。

看看你是否也可以在谷歌服务调用本身中提及区域。

于 2012-05-11T10:08:42.027 回答