我正在尝试根据从数据库收到的坐标绘制路线。但不知怎的,我无法画画。我得到ZERO RESULTS
或INVALID REQUEST
..我想要绘制的路线是TRANSIT
路线。我在哪里发现了一些类似的问题(Link)在网站中得到解决,但给出的解决方案是在参数中添加departure time
或arrival time
。这是一个公认的答案。我尝试的相同目前无法正常工作。我已经发布了我尝试过的代码。
以下是坐标:
19.1860640243063 72.9759523272514
19.1902699 73.023094
19.2178474133021 73.086293040406
19.2354157727173 73.1302742969937
请帮忙。
load : function(response)
{
for(var i=0;i<response.length;i++)
{
if(response[i].linkData!='undefined')
{
link=response[i].linkData;
var lastPos=(response.length-1);
linkDes=response[lastPos].linkData;
var linkDes=link.split(" ");
var linkValue=link.split(" ");
var latDes= parseFloat(linkDes[0]);
var longDes= parseFloat(linkDes[1]);
var lat = parseFloat(linkValue[0]); //convert string to float
var lon = parseFloat(linkValue[1]); //convert string to float
if(count==0)
{
var source=new google.maps.LatLng(lat, lon);
count++;
}
if(i!=0 )
{
geoLatLong=new google.maps.LatLng(lat, lon);
count++;
}
if(i!=response.length-1)
{
geoLatLong=new google.maps.LatLng(lat, lon);
}
if(latDes!="" && longDes!="")
{
var destination=new google.maps.LatLng(latDes, longDes);
}
if(count>1 && count<=response.length-1)
{
geoLatLongArray.push(geoLatLong);
}
}
}
for(var i=0;i<geoLatLongArray.length;i++)
{
waypts.push({location:geoLatLongArray[i],stopover:true});
}
var request = {
origin: source,
destination: destination,
waypoints: waypts,
optimizeWaypoints: true,
travelMode: google.maps.DirectionsTravelMode.TRANSIT,
transitOptions:
{
departureTime: new Date()
}
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
} else {
alert("directions response "+status);
}
});
}
答案 0 :(得分:0)
答案 1 :(得分:0)
我有类似的问题。我将原点设置为地址字段(而不是坐标)后修复了它。仅当原点和目的地都是坐标时,此问题仍然存在。
您可以使用Reverse Geocode API将坐标转换为地址,然后将转换后的地址传递给原点/目的地。