这是我的页面:
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
,但当我做这两件事时,整个路线都消失了。
-
在中设置起点、目的地和航路点
方向服务。路线(
是的
request
变量,使终点成为最后一站,而不是第一站。
注意:这个页面是动态的,所以有时候不仅仅是原点和最后一站。
下面是一个带有附加站点的示例:
https://yt074.addons.la/m/customer/?s=0DzHdMlt&key=LAWSSoqE1FS1&test
我的问题是:
-
我做错了什么?
-
我应该如何调试这个谷歌地图API错误呢?(当然,我希望能够从中学习!)