我在谷歌地图中使用他们的javascript API有几个标记,我想在点击标记的顶部显示一个信息窗口,但是当你点击其中一个标记打开时,最后一个标记创建的信息窗口不是在相应的标记中,示例代码:
for(var i = 0; i < points; i++) {
var randomLatLong = new google.maps.LatLng(position.coords.latitude + getRandomArbitrary(-radius, radius), position.coords.longitude + getRandomArbitrary(-radius, radius));
var marker = new google.maps.Marker({
map: $scope.map,
animation: google.maps.Animation.DROP,
position: randomLatLong,
});
var infoWindow = new google.maps.InfoWindow({
content: "Here is something to see!"
});
marker.addListener('click', function () {
infoWindow.open($scope.map, marker);
});
}
这是一个codepen:
http://codepen.io/ospfranco/pen/yOPpey
只需点按其中一个标记,te信息就会在其他标记上打开
任何人都知道如何解决这个问题?
答案 0 :(得分:1)
在听众中将'marker'更改为'this'。
marker.addListener('click', function () {
infoWindow.open($scope.map, this);
});