Google Directions - 不同ISP的不同行为

时间:2012-05-11 10:02:03

标签: javascript google-maps

我们正在使用谷歌地图服务以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原生应用程序中使用相同的模式,我们从未遇到过这样的问题。

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

以下是从地图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}]}

谢谢!

2 个答案:

答案 0 :(得分:0)

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

我建议您直接拨打您的服务器,然后从您的服务器调用Google服务以获得统一的结果。

看看您是否也可以在google service calll本身中提及区域。

答案 1 :(得分:0)

如果您的网页是从世界各地访问的,那么很可能会导致说明不同。来自Region Biasing for Directions section of the Developer's Guide

  

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

您可以通过在请求网址参数中添加以下内容来强制区域偏向

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

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