【发布时间】:2020-12-03 13:39:31
【问题描述】:
使用以下坐标在地图上绘制 googlemap 路线。但路线错误。问题出在哪里?
LNG LAT
58.5589893333333 23.6229513333333 Start
58.5589985 23.6231225 WAY POINT 1
58.5591366666667 23.6235491666667 WAY POINT 2
58.55882 23.6236481666667 WAY POINT 3
58.5476361666667 23.6209141666667 WAY POINT 4
58.5454098333333 23.616038 END
走错路
在谷歌地图网站上尝试了相同的坐标,它给出了正确的方法
问题出在哪里?正确发送所有航点、起点和目的地。坐标来自跟踪设备。只有某些情况下会显示这样的错误路线。
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setMap(map);
var first = new google.maps.LatLng(23.6231225,58.5589985);
var second = new google.maps.LatLng(23.6235491666667,58.5591366666667);
var third = new google.maps.LatLng(23.6236481666667,58.55882);
var forth = new google.maps.LatLng(23.6209141666667,58.5476361666667);
var i = 0;
var start = StartlatDir[i]+','+StartlongDir[i];
var end = EndlatDir[i] + ',' + EndlongDir[i];
var request = {
origin: start,
destination: end,
waypoints: [{ location:first, stopover: false },
{ location: second, stopover: false },
{ location: third, stopover: false },
{ location: forth, stopover: false }],
optimizeWaypoints: false,
travelMode: google.maps.DirectionsTravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC
};
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
var myRoute = response.routes[0];
var txtDir = '';
for (var i = 0; i < myRoute.legs[0].steps.length; i++) {
txtDir += myRoute.legs[0].steps[i].instructions + "<br />";
}
}
});
【问题讨论】:
-
什么是
StartlatDir[i]、StartlongDir[i]、EndlatDir[i]&EndlongDir[i]?请提供一个 minimal reproducible example 来证明您的问题。 -
起始值为 58.5589893333333 23.6229513333333 终止值为 58.5454098333333 23.616038
-
请edit你的问题解决cmets。
-
@user6753632 你有没有找到任何解决方案。
标签: javascript google-maps directions