проблема с гугл направлениями API - PullRequest
0 голосов
/ 25 мая 2011

Пользователь заходит в мое веб-приложение и находит адрес назначения, но он не находит исходное местоположение и публикует страницу. Обычный пользователь, который не зарегистрирован в веб-приложении, добавляет местоположение источника.

Как только пользователь добавляет исходное местоположение, он не может видеть точную карту направлений, скорее, Google отображает карты по умолчанию.

Вот исключение, когда мы использовали хромированную консоль.

Я добавил здесь код, а также получаю исключение

Error Name:
main.js:41Uncaught TypeError:Object#<object> has no method 'Load'


function calcRoute() {
    showDirections();
  document.getElementById('directionsPanel').innerHTML="";
    initialize();
  var start = document.getElementById("txt_from").value;
  var end = getDestinationAdderss(document.getElementById('final_address').innerHTML);
  var request = {
    origin:start, 
    destination:end,
    travelMode: google.maps.DirectionsTravelMode.DRIVING
  };
  directionsService.route(request, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
      directionsDisplay.setDirections(response);
    }
  });

enter image description here

function initialize() {
  directionsDisplay = new google.maps.DirectionsRenderer();
  var chicago = new google.maps.LatLng(41.850033, -87.6500523);
  var myOptions = {
    zoom:7,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    center: chicago
  }
  map = new google.maps.Map(document.getElementById("map_canvas_directions"), myOptions);
  directionsDisplay.setMap(map);
  directionsDisplay.setPanel(document.getElementById("directionsPanel"));
}

Ответы [ 2 ]

3 голосов
/ 25 мая 2011

Вы удалили некоторый код, который присутствует в образце Google .

directionsDisplay = new google.maps.DirectionsRenderer({
    'map': map,
    'preserveViewport': true,
    'draggable': true
});

Я ожидаю, что ваш код снова работает, если вы добавите код выше в нужном месте.Если нет, вам действительно следует начать с примера кода снова, так как это работает.

2 голосов
/ 25 мая 2011

Снимок экрана отладки указывает, что initialize () - это последний бит кода, выполненный в вашем файле перед тем, как API Карт Google выдает ошибку.Так что загляните туда (и / или укажите этот код в своем вопросе).

ОБНОВЛЕНИЕ : Основываясь на вашем коде, первой может быть проверка на наличие элемента с идентификатором map_canvas_directions и другого с идентификатором directionsPanel,Информации недостаточно, чтобы сказать наверняка, но если бы мне пришлось угадывать, изменения в вашем пользовательском интерфейсе избавились от одного или другого из этих элементов, но ваш код требует их.1010 *: Замена материала в конструкторе DirectionsRenderer (), как предполагает @Arjan, также является вероятной причиной вашей проблемы, поэтому обязательно попробуйте это тоже!

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