Вот моя страница: https://yt074.addons.la/m/customer/?s=GIaUJXrd&key=LAWSSoqE1FS1&test
Я хочу только ногу "туда", а не возвращение:
Вот соответствующий код:
function init_map() {
points = [{"stop_name":"Vehicle Location","latitude":41.739991000000003,"longitude":-72.675025000000005},{"stop_name":"Capital Building","latitude":"41.766417","longitude":"-72.673645","address_id":"3541"}];
var myOptions = {
zoom: 14,
center: new google.maps.LatLng(41.739991, -72.675025),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('gmap_canvas'), myOptions);
// Print the bus icon
marker = new google.maps.Marker({
map: map,
icon: image,
position: new google.maps.LatLng(41.739991, -72.675025)
});
// Print all stop icons
for(var i = 0; i < points.length; i++) {
setMarker(points[i]);
}
}
function setMarker(point) {
geocoder = new google.maps.Geocoder();
infowindow = new google.maps.InfoWindow();
var directionsDisplay = new google.maps.DirectionsRenderer(
{
suppressMarkers: true,
polylineOptions: {
strokeColor: '#2F7DC7',
strokeWeight: 5
}
});
var directionsService = new google.maps.DirectionsService();
var lat = point["latitude"];
var lng = point["longitude"];
var routeReal = new google.maps.LatLng(point['latitude'], point['longitude']);
path.push(routeReal);
waypts.push({
location: routeReal,
stopover: true
});
var ori = path[0];
var dest = routeReal;
var request = {
origin : ori,
destination : dest,
waypoints: waypts,
travelMode : 'DRIVING'
};
directionsService.route(request, function(result, status){
if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT)
{
setTimeout(function() {
console.log(result, status);
directionsDisplay.setDirections(result);
}, 3000);
} else {
console.log(result, status);
directionsDisplay.setDirections(result);
}
});
latlng = new google.maps.LatLng(lat, lng);
marker = new google.maps.Marker({
position: latlng,
map: map,
draggable: false,
html: point["stop_name"], // Click content
icon: {
path: fontawesome.markers.CIRCLE,
scale: 0.15,
strokeWeight: 3,
strokeColor: '#000000',
fillColor: '#000000'
}
});
directionsDisplay.setMap(map);
marker.setPosition(latlng);
map.setCenter(latlng);
google.maps.event.addListener(marker, 'click', function(event) {
infowindow.setContent(this.html);
infowindow.setPosition(event.latLng);
infowindow.open(map, this);
});
}
google.maps.event.addDomListener(window, 'load', init_map);
Вещи, которые я пробовал:
установка точек останова в секциях directionsService.route(
и внутри них, чтобы посмотреть, смогу ли я получить одну ногу для иллюстрации, но не другую, но карты, как представляется, визуализируются одновременно.
ограничение начального цикла for(var i = 0; i < points.length; i++) {
для пропуска первого (или последнего) вызова setMarker
, но когда я делаю любой из них, весь маршрут исчезает.
Установка начальных, конечных и путевых точек в переменной directionsService.route(
s request
, чтобы сделать конец последней остановкой вместо первой.
ПРИМЕЧАНИЕ. Эта страница является динамической, поэтому иногда имеется больше, чем просто начало координат и последняя остановка. Вот пример с дополнительной остановкой: https://yt074.addons.la/m/customer/?s=0DzHdMlt&key=LAWSSoqE1FS1&test
Мои вопросы:
- Что я здесь не так делаю?
- Как мне удалось отладить эту ошибку API Карт Google самостоятельно? (Конечно, я бы хотел научиться этому!)