Google地图打开信息窗无效

时间:2016-12-08 22:07:09

标签: javascript google-maps google-maps-api-3 knockout.js

在我的init map函数中,我为每个标记创建了Click listeneres

    google.maps.event.addListener(marker, 'click', function() {
        createInfoWindow(marker);
    });

然后我创建了一个工作正常的infowindows,如果你单击一个标记:

function createInfoWindow(marker) {
    var infowindow = new google.maps.InfoWindow({
        maxWidth: 300,
        name: ''
    });
    infowindow.setContent(marker.name);
    infowindow.open(map, marker);
    map.panTo(marker.getPosition());
}

但是当我在敲击的foreach循环上点击相同的方法时,地图只会平移到标记,但不会打开infowindow:

<ul class="object-list" data-bind="foreach: list.Objects">
    <li class="object-list-item">
        <a href="#" data-bind="text: name, click: getMarkerInfo"></b></a>
    </li>                    
</ul>


self.getMarkerInfo = function() {
    var mark = markers.find(function(o) {
            return o.name === obj.name;
        })
    createInfoWindow(mark);
};

所以标记是正确解析的(否则泛不起作用)但是我真的被这个信息所困在了这里。

1 个答案:

答案 0 :(得分:1)

好的,我的初始映射函数运行了两次,我的标记数组中有重复项。继续我将检查重复项,但这里有一段代码与重复项一起使用:

section.sr {
    margin:0;
    padding:0;
    background-image:  url(../images/simulation-1-waterfall.jpg);
    margin-top: 0;
    padding: 25px 35px 30px;
    height: screen.heightpx;
}