我可以将数据库中的Google Maps API Direction Services的响应保存为JSON,并使用google.maps.DirectionsRenderer()重新使用它在地图上绘制;
我已将其保存在数据库中,但是当我想使用新的google.maps.DirectionsRenderer()重绘地图时;它没有在地图上显示。但它确实根据我从db。
加载的JSON显示方向面板以下是代码段:
$.ajax({
type: "GET",
url: 'controller.php',
data: {action: 'routedata', id: id},
dataType: 'json',
success: function(data){
if(data && data.routes && data.routes.length > 0){
var thisRouteDirRender = new google.maps.DirectionsRenderer();
thisRouteDirRender.setMap(map);
thisRouteDirRender.setPanel(document.getElementById('directions-panel'));
thisRouteDirRender.setDirections(data);
}
}
});
答案 0 :(得分:1)
我认为你可以尝试这样的想法:
$.ajax({
type: "GET",
url: 'controller.php',
data: {action: 'routedata', id: id},
dataType: 'json',
success: function(data){
if(data && data.routes && data.routes.length > 0){
var thisRouteDirRender = new google.maps.DirectionsRenderer();
var directionsService = new google.maps.DirectionsService();
thisRouteDirRender.setMap(map);
thisRouteDirRender.setPanel(document.getElementById('directions-panel'));
var request = {
origin: data.routes[0].LatLng ,
destination: data.routes[data.routes.length - 1].LatLng,
travelMode: google.maps.TravelMode.WALKING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
thisRouteDirRender.setDirections(result);
}
});
}
}
});
您需要使用google.maps.DirectionsService
来构建路线。
您也可以从waypoints[]
指定data
。
您可以在google docs