我正在使用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 函数时,警报会正确显示。但就是这样,路线会显示 NOT !未显示 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
});
}
}
});
}
答案 0 :(得分:1)
我在 &lt; 中包含了一些值脚本src&gt; ,不知道它们是什么
:banghead :: banghead :: banghead:
原作是:
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
我把它修改为:
<script src="http://maps.google.com/maps/api/js?v=3.1&sensor=true" type="text/javascript"></script>
将其更改回正常显示路线!