我正在使用 Qt,所以地图显示在小部件上。
全局变量:
var arrayMarkers = new Array();
var arrayIndex = 0;
这个函数“获取”调用并且还在我点击的地图上“显示”标记。当我第二次单击时,它也会适当地调用displayRoute函数。
function Open (x, y)
{
google.maps.event.addListener (map, "click",
function (event)
{
alert("You clicked the map."+ event.latLng.toString(4));
arrayMarkers [arrayIndex] = event.latLng;
var point1 = new google.maps.Marker ({
position:arrayMarkers [arrayIndex],
draggable:false,
map:map,
flat:true
});
if (arrayIndex == 1)
{
displayRoute();
}
arrayIndex++;
});
}
当调用以下displayRoute函数时,警报会正确显示。但就是这样,路线不会显示!未显示directionsService.route调用中的警报,这意味着函数directionsService.route甚至没有被调用?该怎么办?请帮忙。
function displayRoute ()
{
alert ("displayRoute");
var start = arrayMarkers [0];
var end = arrayMarkers [1];
var request = {
origin:start,
destination:end,
travelMode:google.maps.TravelMode.DRIVING
};
directionsService.route (request,
function (result, status)
{
alert(status);
if (status == google.maps.DirectionsStatus.OK)
{
directionsDisplay.setDirections (result);
pointsArray = result.routes[0].overview_path;
var j = 0;
for (j = 0; j < 49; j++)
{
var point1 = new google.maps.Marker ({
position:pointsArray[j],
draggable:true,
map:map,
flat:true
});
}
}
});
}