Google将指向API的地图重定向到map.google.com

时间:2013-04-15 14:43:03

标签: javascript google-maps cordova google-maps-api-3

我使用了一些JavaScript来获取Google地图上的路线,但出于某种原因,我不断被重定向到Google地图页面。

问题在于我主要尝试行走方向,虽然它也适用于公共交通工具。

这是一个在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]); });
        }

    });

}

1 个答案:

答案 0 :(得分:4)

我完全无法理解,但您可能使用了错误的方法'app.directionDisplay.setMap'。

我已经完成了代码。

我无法找到您初始化 MAP的位置,然后您可以为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'));

请更正..

我希望这样做