问候,
到目前为止,我一直在使用谷歌地图v2。我现在正在前往v3,但我遇到了一个我无法找到解决方案的问题。
在V2中,当使用方向时,我可以在地图上添加一个没有实际道路的点,并且地图api将自动找出道路存在的最近可能的终点并显示到该点的方向。但这似乎不是V3的情况。在所有情况下,路线是错误的,因为我没有把我的观点放在实际的道路上,服务失败(?)找到最近的路。这是一个截图,显示我的意思:
我对两张地图使用完全相同的坐标。 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/