我想在我的网站上显示类似于谷歌地图公交路线的东西,所以我试图在同一张地图上显示多种不同类型的路线。例如,我想展示一个旅行,你步行到公共汽车,乘公共汽车到其他街道,然后步行到你的最终目的地。
为此,我试图使用自定义标记在同一张地图上获取多个方向请求的结果。我有一个名为 change_map() 的函数,它应该在地图上显示其中一次旅行的信息。
我有两个问题:
- 标记未显示在地图上。
- 当未注释 fitbounds 时,我收到超出堆栈限制的错误
我是 javascript 新手,如果我的代码很糟糕,我很抱歉,感谢您的帮助!
var trip_map
function renderDirections(result) {
var directionsDisplay = new google.maps.DirectionsRenderer;
directionsDisplay.setMap(trip_map);
directionsDisplay.suppressMarkers = true;
directionsDisplay.setDirections(result);
}
function requestDirections(start, end) {
var directionsService = new google.maps.DirectionsService;
directionsService.route({
origin: start,
destination: end,
travelMode: google.maps.DirectionsTravelMode.DRIVING
}, function(result) {
renderDirections(result);
});
}
function change_map(pk) {
var myOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
trip_map = new google.maps.Map(document.getElementById("trip_map"),
myOptions);
var bounds = new google.maps.LatLngBounds();
for (var j = 0; j < latlngpairs.length; j++) {
var GPS = new google.maps.LatLng({lat:latlngpairs[0],
lng:latlngpairs[1]});
var end_marker = new google.maps.Marker({position: GPS,
map: trip_map,
title: "Hello World!"});
bounds.extend(end_GPS);
}
requestDirections(parts[j], parts[j+1]);
}
//trip_map.fitBounds(bounds);
}