Google maps 谷歌地图给错误的地方指明方向

Google maps 谷歌地图给错误的地方指明方向,google-maps,Google Maps,我维护一个当地小道协会的网站,并包括小道和便利设施的注释谷歌地图。我已经添加了标记来显示车头路线,还添加了一个对谷歌方向的呼叫。问题是谷歌决定把人们送到我指定的地点以外的地方。我的示例显示了两个trailhead(绿色小图标)。如果单击其中一个并请求方向,方向结果将带您到达距离指定位置约1/3英里的点。 我认为这个问题仅限于沿着轨迹的位置,因为我已经能够通过降低输入位置的准确性在一定程度上解决这个问题。但这并不总是有效的。 有什么想法吗?我想我可能遗漏了某个属性,但我什么也找不到。 #地图画布{

我维护一个当地小道协会的网站,并包括小道和便利设施的注释谷歌地图。我已经添加了标记来显示车头路线,还添加了一个对谷歌方向的呼叫。问题是谷歌决定把人们送到我指定的地点以外的地方。我的示例显示了两个trailhead(绿色小图标)。如果单击其中一个并请求方向,方向结果将带您到达距离指定位置约1/3英里的点。 我认为这个问题仅限于沿着轨迹的位置,因为我已经能够通过降低输入位置的准确性在一定程度上解决这个问题。但这并不总是有效的。 有什么想法吗?我想我可能遗漏了某个属性,但我什么也找不到。 #地图画布{宽度:900px;高度:80%;浮动:左}


//定义跟踪头
var访问=新数组(40.2823,-79.986433,40.28177,-79.98584)
//“建筑方向”框的文本
dirStr='
方向自:
+“用卡比自行车” +“脚” + ''); 打开(地图,这个); }); } 方向显示.setMap(地图); directionsDisplay.setPanel(document.getElementById(“方向”); } 函数计算器(结束){ var输出=document.getElementById(“方向”) var start=document.getElementById(“start”).value var mode=document.getElementById('mode') var modeval=mode.options[mode.selectedIndex].value var请求={ 来源:start, 目的地:完, travelMode:google.maps.travelMode[modeval] }; 路由(请求、功能(响应、状态){ if(status==google.maps.directionstatus.OK){ 方向显示。设置方向(响应); } }); }
不要传递包含坐标的逗号分隔字符串,而是使用google.maps.LatLng。如果传递包含坐标的逗号分隔字符串,API将对其进行反向地理编码,找到它知道的最近的位置,并将您路由到该位置。如果你使用google.maps.LatLng,它会在道路上尽可能靠近(至少在驾驶方向上)

一种选择是改变:

//text for building directions box
dirStr = '<br />Directions from:<br /><input type="text" id="start" size="25" />'
    + 'by <select id="mode"><option value="DRIVING" selected>car</option><option value="BICYCLING">bicycle</option>'
    + '<option value="WALKING">foot</option></select>'
    + '<input type="button" value="Go" onclick="calcRoute(\''
致:

代码片段:

//定义跟踪头
var访问=新数组(40.2823,-79.986433,40.28177,-79.98584)
//“建筑方向”框的文本
dirStr='
方向从:
'+'通过卡比自行车'+'脚'+''); 打开(地图,这个); }); } 方向显示.setMap(地图); directionsDisplay.setPanel(document.getElementById(“方向”); } 函数计算器(结束){ var输出=document.getElementById(“方向”) var start=document.getElementById(“start”).value var mode=document.getElementById('mode') var modeval=mode.options[mode.selectedIndex].value var请求={ 来源:start, 目的地:完, travelMode:google.maps.travelMode[modeval] }; 路由(请求、功能(响应、状态){ if(status==google.maps.directionstatus.OK){ 方向显示。设置方向(响应); } }); } google.maps.event.addDomListener(窗口“加载”,初始化)
html,
身体,
#地图画布{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}


请提供一个在问题本身中说明问题的链接,而不是指向将被修复或消失的外部页面的链接。这是我所能得到的最小值,并且仍然显示问题:这是可行的,但方向没有指向正确的位置<代码>代码
函数calcRoute(end){var output=document.getElementById(“方向”)var start=document.getElementById(“start”).value-var mode=document.getElementById(“mode”)var modeval=mode.options[mode.selectedIndex]。value-var请求={起点:起点:起点,终点:终点,旅行模式:google.maps.travelMode[modeval]};directionsService.route(请求、函数(响应、状态){if(状态==google.maps.DirectionsStatus.OK){directionsDisplay.setDirections(响应);}}}}
//text for building directions box
dirStr = '<br />Directions from:<br /><input type="text" id="start" size="25" />'
    + 'by <select id="mode"><option value="DRIVING" selected>car</option><option value="BICYCLING">bicycle</option>'
    + '<option value="WALKING">foot</option></select>'
    + '<input type="button" value="Go" onclick="calcRoute(\''
infowindow.setContent(this.html + dirStr +  this.position + '\')" \>');
dirStr = '<br />Directions from:<br /><input type="text" id="start" size="25" />'
    + 'by <select id="mode"><option value="DRIVING" selected>car</option><option value="BICYCLING">bicycle</option>'
    + '<option value="WALKING">foot</option></select>'
    + '<input type="button" value="Go" onclick="calcRoute(new google.maps.LatLng(';
infowindow.setContent(this.html + dirStr + this.getPosition().toUrlValue(6) + '))" \>');