Событие Google Maps Click на нескольких маркерах - PullRequest
0 голосов
/ 23 мая 2018

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

markersArray[];

function addMarkers () {
  var bounds = map.getBounds();
  for (var i = 0; i < spaces.length; i++) {  
    var markerLatLng = {lat: parseFloat(spaces[i].lat), lng: parseFloat(spaces[i].log)};
    if (bounds.contains(markerLatLng)){
        var spaceMarker = {
            path: 'M43.8,0H6.2C2.8,0,0,3.2,0,7.1v25c0,3.9,2.8,7.1,6.2,7.1h12.5L31.2,50V39.3h12.5c3.4,0,6.2-3.2,6.2-7.1v-25C50,3.2,47.2,0,43.8,0z',
            fillColor: 'Black',
            fillOpacity: 0.7,
            strokeColor: 'Dodgerblue',
            strokeWeight: 0,
            labelOrigin: new google.maps.Point(24,19)
          };
        var markerLabel =  "$" + spaces[i].hourlyrate ;
        marker = new google.maps.Marker({
            position: new google.maps.LatLng(spaces[i].lat, spaces[i].log),
            map: map,
            icon: spaceMarker,
            id: spaces[i].id,
            zIndex: 100,
            label:{
            text: markerLabel,
            color: "#FFFFFF",
            fontSize: "23px",
            fontWeight: "bold",
            fontFamily: "Lato"
            }
          });
          google.maps.event.addListener(marker, 'click', addClickToMarker);
          markersArray.push(marker);
    }
  }
}

function addClickToMarker() {
  console.log("test");
}

1 Ответ

0 голосов
/ 23 мая 2018

Третий аргумент google.maps.addListener должен быть указателем на функцию (имя функции без аргументов) или возвращать функцию, которая будет выполняться при возникновении события.addClickToMarker(marker) не возвращает функцию и не является указателем на функцию, поэтому выполняется один раз, возвращает null, после чего каждый раз, когда вы нажимаете на маркер, вы выполняете функцию null.

...