Google Maps Marker: нужна опция для «Проложить маршрут»

Довольно прямой вопрос.

В настоящее время я реализовал карту Google на своем сайте. До сих пор мне удавалось редактировать, какие данные отображаются на маркере и как именно оформляются эти данные.

Я застрял на одном последнем пункте. Мне нужно предоставить посетителям возможность нажать «Проложить маршрут». У меня есть ссылка на маркер под названием "Направления". Я хотел бы, чтобы посетители могли щелкнуть это «каким-то образом» и предоставить им указания. Я не уверен в средствах или в том, как это достигается. Я искал везде. Любая помощь будет принята с благодарностью. Я включил снимок экрана моего маркера.

Скриншот маркера/карты http://postimg.org/image/t5v5hy7yj/

Кроме того, при ответе относитесь ко мне как к человеку, который знает только основы того, что требовалось для этого до сих пор. Спасибо!

ИЗМЕНИТЬ *

Я отредактировал его так, что когда они нажимают ссылку «направления», она принимает команду поиска карты Google и помещает в нее то, что я приказываю ей из базы данных mysql. Им по-прежнему нужно будет еще раз щелкнуть маршрут на странице результатов Google, чтобы проложить маршрут. Мне нужен более прямой способ сделать это! знак равно

  downloadUrl("genxml.php", function(data) {
    var xml = data.responseXML;
    var markers = xml.documentElement.getElementsByTagName("marker");
    for (var i = 0; i < markers.length; i++) {
      var name = markers[i].getAttribute("name");
      var type = markers[i].getAttribute("type");
      var address = markers[i].getAttribute("address");
      var city = markers[i].getAttribute("city");
      var state = markers[i].getAttribute("state");
      var zip = markers[i].getAttribute("zip");
      var phone = markers[i].getAttribute("phone");
      var url = markers[i].getAttribute("url");
      var point = new google.maps.LatLng(
          parseFloat(markers[i].getAttribute("lat")),
          parseFloat(markers[i].getAttribute("lng")));
      var html = 
      '<a href="' + url + '" target="blank">' + name + '</a>' +
      '</a><br/><br/>' + address +
      '<br>' + city + ' ' + state + ' ' + zip +
      '<br/>' + phone + 
      '<hr style="border: none; height: 1px; color: blue; background: grey;"/>' +
      '<a href="https://maps.google.com/maps?q='+ address + ' ' + city + ' ' + state + ' ' + zip + '" target="blank"><u>Directions</u></a> ' + ' <a href="#"><u>Write a Review</u></a> ' + ' <a href="#"><u>more</u></a>' +
      '<hr style="border: none; height: 1px; color: blue; background: grey;"/>' +
      '<?php echo $ads ?>';
      var icon = customIcons[type] || {};
      var marker = new google.maps.Marker({
        map: map,
        position: point,
        icon: icon.icon,
        shadow: icon.shadow
      });
      bindInfoWindow(marker, map, infoWindow, html);
    }
  });
}

function bindInfoWindow(marker, map, infoWindow, html) {
  google.maps.event.addListener(marker, 'click', function() {
    infoWindow.setContent(html);
    infoWindow.open(map, marker);
  });
}

function downloadUrl(url, callback) {
  var request = window.ActiveXObject ?
      new ActiveXObject('Microsoft.XMLHTTP') :
      new XMLHttpRequest;

  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      request.onreadystatechange = doNothing;
      callback(request, request.status);
    }
  };

  request.open('GET', url, true);
  request.send(null);
}

function doNothing() {}

person user2526699    schedule 03.07.2013    source источник
comment
что за тролль фейс?   -  person Ron    schedule 04.07.2013
comment
это что-то вроде этого: christlivingchurch.com/home/directions.html#directions_table (Я разработал этот сайт)   -  person Ron    schedule 04.07.2013
comment
Я не уверен, что метод, которым это делается, важен. Не столько, сколько «как». Я даже не знаю, с чего начать. У меня на карте более 10 000 маркеров. Мне нужно, чтобы посетители могли щелкнуть маркер и каким-то образом иметь возможность проложить маршрут к адресу на маркере.   -  person user2526699    schedule 04.07.2013
comment
Я предполагаю, что ваш пример будет работать, если он будет давать указания для любого выбранного маркера.   -  person user2526699    schedule 04.07.2013
comment
Что также сработало бы, если бы, когда они нажимали ссылку «Направление», он автоматически искал адрес в Google. Может быть, вытаскивая данные из обязательных полей и вводя их в поиск Google?   -  person user2526699    schedule 04.07.2013


Ответы (1)


В строке HTML для информационного окна добавьте параметр onclick, который вызывает функцию javascript следующим образом: showDirections(" + address + "," + city + "," + state + "," + ")

Эта ссылка должна помочь вам создать функцию для отображения направлений: https://developers.google.com/maps/documentation/javascript/examples/directions-simple

person nbura    schedule 04.07.2013
comment
Не уверен, что это сработает. Мне нужно, чтобы они нажимали на маркеры, которые есть на моей карте, и получали указания от ЭТИХ маркеров. - person user2526699; 04.07.2013
comment
Если вы дадите мне немного времени, я, вероятно, смогу получить какой-нибудь код, который это сделает. Я думаю, что есть способ, но было бы полезно, если бы вы могли дать мне пример кода. - person nbura; 04.07.2013
comment
Да, это было бы здорово. Дайте мне несколько, и я опубликую это. Последняя попытка. - person user2526699; 04.07.2013
comment
Я обновил свой пост с кодом. И с тем, как я настроил его для поиска карт google по запросу. Этого тоже будет недостаточно. Однако это ближе. - person user2526699; 04.07.2013
comment
Спасибо за образец кода! Я, вероятно, смогу отредактировать свой ответ завтра. - person nbura; 04.07.2013
comment
Не могли бы вы добавить весь Javascript, включая функцию initialize() для карты? - person nbura; 04.07.2013
comment
Я понял. Спасибо. Я принял твой ответ. ТЫ! знак равно - person user2526699; 05.07.2013
comment
Ок, отлично! Спасибо, что приняли мой ответ. В любом случае я могу добавить код для других людей, просматривающих этот вопрос. - person nbura; 05.07.2013