Javascript 如何通过单击地图在多个标记之间绘制路线

Javascript 如何通过单击地图在多个标记之间绘制路线,javascript,google-maps,Javascript,Google Maps,我试图在地图上的多个标记之间绘制一条路径。我通过点击地图来定义标记。表示通过单击地图在运行时定义标记。所以我想在这些标记之间画一条路线。我不想要他们之间的最短路径。 这是我的密码: 函数initAutocomplete(){ var map=new google.maps.map(document.getElementById('map'){ 中心:{lat:33.7294,lng:73.0931}, 缩放:13, mapTypeId:“路线图” }); var latlng1; var la

我试图在地图上的多个标记之间绘制一条路径。我通过点击地图来定义标记。表示通过单击地图在运行时定义标记。所以我想在这些标记之间画一条路线。我不想要他们之间的最短路径。 这是我的密码:

函数initAutocomplete(){
var map=new google.maps.map(document.getElementById('map'){
中心:{lat:33.7294,lng:73.0931},
缩放:13,
mapTypeId:“路线图”
});
var latlng1;
var latlng2;
//创建搜索框并将其链接到UI元素。
var input=document.getElementById('pac-input');
var searchBox=newgoogle.maps.places.searchBox(输入);
map.controls[google.maps.ControlPosition.TOP_LEFT].push(输入);
//将搜索框结果偏向当前地图的视口。
map.addListener('bounds_changed',function(){
searchBox.setBounds(map.getBounds());
});
var标记=[];
//侦听用户选择预测并检索时激发的事件
//关于那个地方的更多细节。
searchBox.addListener('places\u changed',函数(){
var places=searchBox.getPlaces();
如果(places.length==0){
返回;
}
//清除旧的标记。
markers.forEach(函数(marker){
marker.setMap(空);
});
标记=[];
//对于每个位置,获取图标、名称和位置。
var bounds=new google.maps.LatLngBounds();
地点。forEach(功能(地点){
如果(!place.geometry){
log(“返回的位置不包含几何图形”);
返回;
}
变量图标={
url:place.icon,
大小:新谷歌地图大小(71,71),
来源:新google.maps.Point(0,0),
主播:新google.maps.Point(17,34),
scaledSize:new google.maps.Size(25,25)
};
//为每个地方创建一个标记。
markers.push(新的google.maps.Marker)({
地图:地图,
图标:图标,
标题:place.name,
位置:place.geometry.location
}));
if(place.geometry.viewport){
//只有地理代码具有视口。
联合(place.geometry.viewport);
}否则{
扩展(place.geometry.location);
}
});
映射边界(bounds);
});
map.addListener('click',函数(e){
地点标记和地图;
地图
});
功能位置标记和标记(车床、地图){
var marker=new google.maps.marker({
位置:latLng,
地图:地图
});
panTo地图(拉丁美洲);
var infowindow=new google.maps.infowindow({
内容:'标记位置:'+Marker.getPosition()+'

' }); latlng1=marker.getPosition(); latlng2=marker.getPosition(); google.maps.event.addListener(标记,'click',函数(){ 信息窗口。打开(地图、标记); }); } 函数mapLocation(){ var方向显示; var directionsService=new google.maps.directionsService(); directionsDisplay=new google.maps.DirectionsRenderer(); map=new google.maps.map(document.getElementById('map'),mapOptions); 方向显示.setMap(地图); 函数calcRoute(){ var start=new google.maps.LatLng(latlng1); var end=new google.maps.LatLng(latlng2); var bound=new google.maps.LatLngBounds(); 绑定。扩展(开始); 绑定。扩展(结束); 地图边界(边界); var请求={ 来源:start, 目的地:完, travelMode:google.maps.travelMode.DRIVING }; 路由(请求、功能(响应、状态){ if(status==google.maps.directionstatus.OK){ 方向显示。设置方向(响应); 方向显示.setMap(地图); } 否则{ 警报(“无路径”); } }); } } mapLocation(); }
google.maps.event.addDomListener(窗口“加载”,初始化)谢谢!你的观点是正确的,但我把它贴在这里只是为了显示我的代码。我正在地图上成功绘制标记,但没有绘制路径。如果你知道路径,请告诉我。这是我的代码-你的意思是你已经和弗兰肯斯坦在一起,甚至没有考虑这样做的问题,并希望有人添加更多的功能,甚至没有功能的东西感谢你让我知道这一点!!!相关问题:可能重复