我真的在苦恼中挣扎,我希望得到一些帮助。
我的最终目标是将航点数据发送到隐藏的输入字段,当用户完成绘制路线时,我可以使用PHP将其保存到我的数据库中。
我有以下代码(Javascript API V3),但最后一个航点部分一直在破坏脚本。
jQuery(document).ready(function(){
// INITIALIZE MAP
var map = new google.maps.Map(document.getElementById('map_canvas'), {
zoom: 5,
center: new google.maps.LatLng(37.09024, -95.71289),
mapTypeId: google.maps.MapTypeId.ROADMAP
}),
directions = new google.maps.DirectionsService(),
displayer = new google.maps.DirectionsRenderer({
draggable: true
});
// LOAD DEFAULTS
/* start coordinates */
var start_lat = jQuery('input[name="origin_lat"]').val();
var start_lng = jQuery('input[name="origin_lng"]').val();
/* end coordinates */
var end_lat = jQuery('input[name="destination_lat"]').val();
var end_lng = jQuery('input[name="destination_lng"]').val();
displayer.setMap(map);
directions.route({
origin: new google.maps.LatLng(start_lat,start_lng),
destination: new google.maps.LatLng(end_lat,end_lng),
travelMode: google.maps.DirectionsTravelMode.DRIVING
}, function (result) {
displayer.setDirections(result);
});
// INFO WINDOW AND MARKERS
var infowindow = new google.maps.InfoWindow();
var marker = new google.maps.Marker({
map: map
});
// WAYPOINTS
google.maps.event.addListener(displayer, 'directions_changed', function(){
var waypoints = displayer.directions.route[0].legs[0].via_waypoint;
});
});
我非常感谢你能给予的任何帮助。
答案 0 :(得分:1)
此:
var waypoints = displayer.directions.route[0].legs[0].via_waypoint;
应该是:
var waypoints = displayer.getDirections().routes[0].legs[0].via_waypoints;
请注意:路线的起点和终点不包含在路标点数组中。