我正在制作一个谷歌地图项目,需要创建一条点击它的路线。
我的项目有 2 个点具有预定义的 lat 和 lng,我想自己绘制点 A 和 B 的起点和终点,并且不要失去它的功能。
我制作了另一个项目,您可以单击它来绘制路线,但它没有标记,也不是可拖动的,这是我的带有完整代码的实际项目,我将在此处发布一个仅包含我的方向的短代码。
我希望我第一次点击 A 点,第二次点击我的 B 点,并且他们可以拖动它们,就像链接的项目一样
function goma()
{
var mapDiv = document.getElementById('mappy');
var mapOptions = {
zoom: 12,
center: new google.maps.LatLng(-23.563594, -46.654239),
mapTypeId : google.maps.MapTypeId.ROADMAP
}
pode ser ROADMAP, SATELLITE, HYBRID, TERRAIN
map = new google.maps.Map( mapDiv, mapOptions );
//Render route, etc.
ren = new google.maps.DirectionsRenderer( {'draggable':true} );
ren.setMap(map);
ren.setPanel(document.getElementById("directionsPanel"));
ser = new google.maps.DirectionsService();
//Create the route
ser.route({ 'origin': new google.maps.LatLng(-23.563594, -46.654129), 'destination': new google.maps.LatLng(
-23.563672, -46.640396), 'travelMode': google.maps.DirectionsTravelMode.DRIVING},function(res,sts) {
if(sts=='OK')ren.setDirections(res);
})
}
我在这里更新我的代码,我只完成了 wayA,即第一个航路点,第二个是预定义的 latLng,在您单击的位置,它会获取 latLng 并放入“原点”。
google.maps.event.addListener(map, "click", function(event) {
wayA = new google.maps.Marker({
position: event.latLng,
map: map
});
});
ren = new google.maps.DirectionsRenderer( {'draggable':true} );
ren.setMap(map);
ren.setPanel(document.getElementById("directionsPanel"));
ser = new google.maps.DirectionsService();
ser.route({ 'origin': wayA, 'destination': new google.maps.LatLng(
-23.563672, -46.640396), 'travelMode': google.maps.DirectionsTravelMode.DRIVING},function(res,sts) {
if(sts=='OK')ren.setDirections(res);
})