Привет,
До сих пор я в основном работал с Google Maps v2.Сейчас я пробираюсь к v3, но столкнулся с проблемой, для которой не смог найти решения.
В V2, при использовании направлений, я мог добавить точку на карте без реальной дороги, и API карты автоматически определил бы ближайшую возможную конечную точку, где существует дорога, и отобразил бы прямые направления к этой точке.Похоже, что это не так с V3.Во многих случаях маршрут неправильный, потому что я не разместил свою точку на реальной дороге, и служба не может (?) Найти ближайшую.Вот скриншот для отображения того, что я имею в виду:
Я использую одинаковые координаты для обеих карт.Красные штыри на 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/