我是新手到谷歌地圖API,到目前爲止,我遇到了很多問題。谷歌地圖Waypoints沒有出現
我想從由複選框數組確定的latlng coords映射航點。
這裏是我的js文件在全:
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
var waypts = [];
var start = new google.maps.LatLng(41.850033, -87.6500523);
var end = new google.maps.LatLng(40.850033, -87.6500523);
function initialize()
{
directionsDisplay = new google.maps.DirectionsRenderer();
var myOptions = {
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: new google.maps.LatLng(41.850033, -87.6500523)
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
directionsDisplay.setMap(map);
}
function calcRoute()
{
var checkboxArray = document.getElementsByName("waypoints[]");
for (var i = 0; i < checkboxArray.length; i++)
{
if (checkboxArray[i].checked)
{
var lat = parseFloat(checkboxArray[i].attributes["lat"].value);
var lng = parseFloat(checkboxArray[i].attributes["lng"].value);
waypts.push({
location: new google.maps.LatLng(lat, lng),
stopover: true
});
}
}
}
var request = {
origin: start,
destination: end,
waypoints: waypts,
optimizeWaypoints: true,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
console.log("mapping...");
if(status == google.maps.DirectionsStatus.NOT_FOUND)
{
console.log("Could not one or more of locations");
}
});
的地圖上顯示了和「映射......」在控制檯加載頁面時彈出。當我按下CalcRoute提交按鈕時,什麼都沒有發生。我記錄了lat/long和waypt對象,所以我知道他們已經到了這一點,但似乎路線從來沒有重新計算過,等等。
我真的只需要一個基本的演示,但我只有一個發現是我用於幾乎所有東西,但我沒有得到任何結果: Google Example Directions Waypoints
Yesss!這是確切的問題。我沒有意識到我需要狀態OK和setDirections。但也有請求路線和calcRoute函數內的東西。這解釋了開始,結束和路徑中的變量問題。非常感謝! – MLM 2012-07-06 22:06:26