Google Maps GDirections - Маршрут направления между двумя точками на карте

1

Как это выглядит? Я хочу генерировать направления с одной широты/долготы на другую широту/долготу.

var dirMap = new GMap2($("#dirMap").get(0));
var wp = new Array(2);
wp[0] = new GLatLng(35.742149,139.337218);
wp[1] = new GLatLng(35.735347,139.328485);

var marker = new GMarker(wp[1]);
dirMap.addOverlay(marker);
dirMap.setCenter(wp[0], 12);
dirMap.setUIToDefault();

// load directions
directions = new GDirections(dirMap);
directions.load("from: [email protected],100.337218 to: [email protected],100.3267");

Карта загружается отлично, но направления не входят. Я тоже пробовал это:

var dirMap = new GMap2($("#dirMap").get(0));
var wp = new Array(2);
wp[0] = new GLatLng(32.742149,119.337218);
wp[1] = new GLatLng(32.735347,119.328485);

var marker = new GMarker(wp[1]);
dirMap.addOverlay(marker);
dirMap.setCenter(wp[0], 12);
dirMap.setUIToDefault();

// load directions
directions = new GDirections(dirMap);
directions.loadFromWaypoints(wp);

То же самое... карта, но никаких указаний. Любая помощь очень ценится, спасибо заранее!

Теги:
google-maps

2 ответа

1
Лучший ответ

Я не вижу ничего очевидного с первого взгляда на ваш код, поэтому первое предположение - неудача, возвращающаяся к запросу GDirections (я также предполагаю, что вы проверили журнал ошибок javascript для любых ошибок, Tools/Error Console, если вы еще этого не сделали).

Я предлагаю добавить обработчик ошибок для вашего объекта GDirections, это даст вам некоторое представление о том, что происходит с вашим запросом:

GEvent.addListener(directions, "error", handleErrors);

и в обратном вызове handleErrors посмотрите:

directions.getStatus().code

Сравните с коды состояния Geo.

EDIT: Хорошо, я просто попробовал ваш код здесь и работает отлично. Я могу только предположить, что на вашей странице есть и другие проблемы, которые вызывают проблему. Можете ли вы опубликовать ссылку в вопросе, чтобы мы могли проверить это?

  • 0
    Проблема была на моем тестовом боксе ... так что никакой ссылки. После того, как вы проверили его, я скопировал код в новый HTML-файл и успешно загрузил его. По крайней мере, я знаю, что это не ошибка JavaScript. Я действительно ценю помощь в этом, большое спасибо.
  • 0
    Рад слышать это :).
1

Проверка статуса (604) Я получил, когда попытался в Справочник API Карт Google:

Объект GDirections не может вычислять направления между точками упомянутых в запросе. Это обычно потому, что нет маршрута между двумя точками или потому что у нас нет данных для маршрутизации в этой области.

и это код, который я использовал (слегка измененный):

$(function ()
{
    if (GBrowserIsCompatible())
    {
        var wp = [new GLatLng(35.742149,139.337218), new GLatLng(35.735347,139.328485)];

        var map = new GMap2(document.getElementById('map-canvas'));
        map.setCenter(wp[0], 12);
        map.setUIToDefault();

        var marker = new GMarker(wp[1]);
        map.addOverlay(marker);

        var directions = new GDirections(map);
        GEvent.addListener(
            directions,
            'error',
            function ()
            {
                console.log(directions.getStatus().code);
            }
        );
        directions.load('from: [email protected],100.337218 to: [email protected],100.3267');
    }
});
  • 0
    Нет проблем с кодом, который он предоставил. Я использовал это дословно, и правильный маршрут был рассчитан.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню