2013-04-15 39 views
7

我已經使用了一些JavaScript來獲取我的Google地圖上的路線,但出於某種原因,我一直將其重定向到Google地圖頁面。Google地圖方向API重定向到map.google.com

問題是當我嘗試獲取步行方向時,儘管它也發生在公共交通工具選項中。

這是一個在PhoneGap中工作的應用程序,雖然我不確定這是PhoneGap的問題。

以前有人看到過這個問題,或者有人能看到我的實現問題嗎?

// get drections 
directions: function (method) { 

    // set directions method 
    method = google.maps.DirectionsTravelMode.WALKING; 
    if (method === 'public') 
     method = google.maps.DirectionsTravelMode.TRANSIT; 

    // current position 
    var currentPos = new google.maps.LatLng(app.positionCords.latitude, app.positionCords.longitude); 

    // set the directions options 
    var request = { 
     origin: currentPos, 
     destination: app.venueCords, 
     travelMode: method 
    }; 

    // get the directions 
    app.directionsService.route(request, function (response, status) { 

     if (status == google.maps.DirectionsStatus.OK) { 

      // set up directions on the map 
      app.directionsDisplay.setMap(document.getElementById('map')); 
      app.directionsDisplay.setPanel(document.getElementById('directionsPanel')); 
      app.directionsDisplay.setDirections(response); 

     } else { 
      app.messageBox.alert(app.alertTitle, app.noDirectionsMsg, function(button) { console.warn('alert', [this, arguments]); }); 
     } 

    }); 

} 

回答

4

我完全不能理解,但是您可能會使用錯誤的方法'app.directionDisplay.setMap'。

正如我已經通過代碼。

我沒能找到,你必須初始化的地圖,然後你可以使用不同的功能,您可以初始化路線/方向的方向分配到MAP

 function initialize() { 
     var mapOptions = { 
      center: new google.maps.LatLng(-34.397, 150.644),//put your initial position values 
      zoom: 8, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 
     var map = new google.maps.Map(document.getElementById("map"), 
      mapOptions); 
     } 

然後。

請詢問更多細節和例子GOOGLE Documentation

我有你的代碼的疑惑開始

// set up directions on the map 
    app.directionsDisplay.setMap(document.getElementById('map')); 

請更正..

我希望這會做

+0

我解決這是在你發佈之前的幾個小時,但你是正確的。我已經在全局變量app.map中初始化映射,並使用它來代替document.getElementById('map')解決了問題 – gazzwi86