Служба маршрутов Google Maps V3 не может найти дороги вблизи выбранной точки, что приводит к неправильным направлениям - PullRequest
2 голосов
/ 15 апреля 2011

Привет,

До сих пор я в основном работал с Google Maps v2.Сейчас я пробираюсь к v3, но столкнулся с проблемой, для которой не смог найти решения.

В V2, при использовании направлений, я мог добавить точку на карте без реальной дороги, и API карты автоматически определил бы ближайшую возможную конечную точку, где существует дорога, и отобразил бы прямые направления к этой точке.Похоже, что это не так с V3.Во многих случаях маршрут неправильный, потому что я не разместил свою точку на реальной дороге, и служба не может (?) Найти ближайшую.Вот скриншот для отображения того, что я имею в виду:

enter image description here

Я использую одинаковые координаты для обеих карт.Красные штыри на V3 показывают, куда на самом деле указывают эти координаты, но, как вы можете видеть, направления неверны.Только если я использую координаты, которые находятся точно на дороге, они отображаются правильно (здесь не отображаются).Я использую одинаковые координаты на V2 и V3, но только V2 отображает правильные направления.

Вот пример кода, который я использую для получения направлений:

var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var map;

function initialize() {
    //Works fine, so I ommit the code
}


function calcRoute(endpointCoords) // endpointCoords holds coordinates for end point
{
    var startpoint = '<?=$startPoint[latitude];?>, <?=$startPoint[longitude];?>';
    var endpoint = endpointCoords;

    var request = {
    origin:startpoint,
    destination:endpoint,
    travelMode: google.maps.DirectionsTravelMode.DRIVING
    };

    directionsService.route(request, function(response, status){
        if (status == google.maps.DirectionsStatus.OK) 
        {   
            directionsDisplay.setDirections(response);
        }
    });
}

Документация мне больше не помогла (http://code.google.com/apis/maps/documentation/javascript/services.html#Directions)

Был ли у вас подобный опыт работы с версией API для v3?Любые идеи, почему это происходит?

ОБНОВЛЕНИЕ: Вот ссылка, которая показывает код и проблему в действии: http://jsfiddle.net/spairus/gNpZ2/

1 Ответ

1 голос
/ 15 апреля 2011

На рисунке видно, что ваш lng / lat может быть в неправильном порядке.Как предложено здесь , вы можете убедиться, что вы используете долготу и широту в правильном порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...