заголовок на полилинейных картах не отображается при нажатии - PullRequest
0 голосов
/ 26 мая 2020

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

      function initialize() {

    var map = new google.maps.Map(document.getElementById('map-canvas'), {
      center: { lat: 42.9994443, lng: -0.0107599},
      zoom: 12
    });

    var fromMarker = new google.maps.Marker({
      map: map,
      position: { lat: 43.1002647, lng: -0.0423151 },
      title: 'Hello World!'
    });

    var toMarker = new google.maps.Marker({
      map: map,
      position: { lat: 42.8906, lng: -0.115006 },
      title: 'Hello World!'
    });

    var ds = new google.maps.DirectionsService();

    ds.route({
      origin: fromMarker.getPosition(),
      destination: toMarker.getPosition(),
      travelMode: google.maps.TravelMode.DRIVING,
      unitSystem: google.maps.UnitSystem.METRIC
    }, function (result, status) {
      if (status == google.maps.DirectionsStatus.OK) {
        console.log(result);

        new google.maps.Polyline({
          map: map,
          path: result.routes[0].overview_path,


                strokeOpacity: 1.0,
                strokeWeight: 2,
                geodesic: true,
                icons: [{
                    icon: {path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW},
                    offset: '100%',
                    repeat: '40px'
                }]
        });

        var fullPath = [];

        result.routes[0].legs.forEach(function (leg) {
          leg.steps.forEach(function (step) {
            fullPath = fullPath.concat(step.path);
            new google.maps.Polyline({
              map: map,
              path: step.path,
              strokeColor: "red",
              strokeWeight: 1
            });
          });
        });


      }
    });

  }

  google.maps.event.addDomListener(window, 'load', initialize);

1 Ответ

1 голос
/ 26 мая 2020

Название маркера отображается при наведении курсора. Если вы хотите отображать информационное окно при нажатии, вы должны добавить что-то вроде следующего:

var infowindow = new google.maps.InfoWindow({
    content: "<span>Your title</span>"
});
google.maps.event.addListener(fromMarker, 'click', function() {
  infowindow.open(map, fromMarker);
});

Дополнительная информация о Info Windows: https://developers.google.com/maps/documentation/javascript/examples/infowindow-simple

...