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(窗口“加载”,初始化)代码>谢谢!你的观点是正确的,但我把它贴在这里只是为了显示我的代码。我正在地图上成功绘制标记,但没有绘制路径。如果你知道路径,请告诉我。这是我的代码-你的意思是你已经和弗兰肯斯坦在一起,甚至没有考虑这样做的问题,并希望有人添加更多的功能,甚至没有功能的东西感谢你让我知道这一点!!!相关问题:可能重复