谷歌地图V3方向服务无法找到靠近选定点的道路导致错误的方向

时间:2011-04-15 00:29:33

标签: google-maps google-maps-api-3

问候,

到目前为止,我一直在使用谷歌地图v2。我现在正在前往v3,但我遇到了一个我无法找到解决方案的问题。

在V2中,当使用方向时,我可以在地图上添加一个没有实际道路的点,并且地图api将自动找出道路存在的最近可能的终点并显示到该点的方向。但这似乎不是V3的情况。在所有情况下,路线是错误的,因为我没有把我的观点放在实际的道路上,服务失败(?)找到最近的路。这是一个截图,显示我的意思:

enter image description here

我对两张地图使用完全相同的坐标。 V3上的红色引脚显示这些坐标实际指向的位置,但正如您所看到的那样,方向是错误的。只有当我使用完全在道路上的坐标时,它们才会正确显示(此处不显示)。我在V2和V3上使用完全相同的坐标,但只有V2显示正确的方向。

以下是我用于获取目标的代码示例:

var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var map;

function initialize() {
    //Works fine, so I ommit the code
}


function calcRoute(endpointCoords) // endpointCoords holds coordinates for end point
{
    var startpoint = '<?=$startPoint[latitude];?>, <?=$startPoint[longitude];?>';
    var endpoint = endpointCoords;

    var request = {
    origin:startpoint,
    destination:endpoint,
    travelMode: google.maps.DirectionsTravelMode.DRIVING
    };

    directionsService.route(request, function(response, status){
        if (status == google.maps.DirectionsStatus.OK) 
        {   
            directionsDisplay.setDirections(response);
        }
    });
}

文档对我没有太大帮助(http://code.google.com/apis/maps/documentation/javascript/services.html#Directions

您对api的v3版本有过类似的体验吗?任何想法为什么会这样?

更新:这是一个链接,显示代码和操作中的问题: http://jsfiddle.net/spairus/gNpZ2/

1 个答案:

答案 0 :(得分:1)

从图形看,你的lng / lat看起来可能是错误的顺序。作为suggested here,您可能希望确保以正确的顺序使用经度和纬度。