また、Qt を使用しているため、ウィジェットにマップが表示されます。
グローバル変数:
var arrayMarkers = new Array();
var arrayIndex = 0;
この関数は「取得」され、マップ上のクリックした場所にマーカーを「表示」します。また、2 回目にクリックすると、 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関数が呼び出されると、アラートが適切に表示されます。それだけです。ルートは表示されません。directionService.route呼び出しのアラートは表示されません。これは、関数directionService.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
});
}
}
});
}