错误addListener不是一个函数

时间:2017-03-21 00:23:01

标签: javascript google-maps

我有错误

  

location_marker.addListener不是函数

地图初始化

   function initAutocomplete() {
     map = new google.maps.Map(document.getElementById('map'), {
      center: {lat: 31.7917 , lng: 7.0926},
      zoom: 3,
      mapTypeId: 'roadmap'
    });

浏览位置列表并为每个

放置标记
            var location_marker;
              for (var i = 0; i < locations.length; i++) {

                    location_marker = markers.push(new google.maps.Marker({
                      map: map,
                      title: locations[i].title,
                      position: locations[i].location

                    }));                         
              }

创建一个信息窗口,显示每个标记的标题

                      var infowindow = new google.maps.InfoWindow({
                        content: location_marker.title
                      });
                      location_marker.addListener('click', function() {
                          infowindow.open(map, location_marker);
                        });

1 个答案:

答案 0 :(得分:1)

根据您提供的代码,这似乎不完整,我假设如下。

您的var locationMarker保存markers.push的结果,该结果返回推送了对象(google.maps.Marker)的数组的长度。

由于locationMarker是一个数字,因此它没有addListener方法。你可能想做这样的事情:

location_marker = new google.maps.Marker({
  map: map,
  title: locations[i].title,
  position: locations[i].location

})
markers.push(location_marker);