有人能告诉我为什么InfoWindow在第一次点击时没有显示? 第一次点击后,它总能正常工作......
我只是从geojson文件加载数据并尝试添加点击事件。
将infowindow锚定到MVCObject有一些问题。
var anchor = new google.maps.MVCObject();
anchor.setValues({//position of the point
position:event.latLng,
anchorPoint:new google.maps.Point(0,-40)});
infoWindow.open(map, anchor);
答案 0 :(得分:0)
我从var infoWindow
侦听器中移除了click
,它运行正常。
像这样:
var infoWindow = new google.maps.InfoWindow({
content: "",
pixelOffset: new google.maps.Size(0, -30)
});
// When the user clicks, set 'isColorful', changing the color of the letters.
map.data.addListener('click', function (event) {
event.feature.setProperty('isColorful', true);
infoWindow.setContent('<div>test</div>');
var anchor = new google.maps.MVCObject();
anchor.setValues({ //position of the point
position: event.latLng,
anchorPoint: new google.maps.Point(0, -40)
});
infoWindow.open(map, anchor);
});
infoWindow
仅在首次点击时初始化。如果你把它放在外面你初始化它然后只设置内容。
答案 1 :(得分:0)
将你的infowindow变量初始化为函数,在initmap()中的某些位置;功能。
希望这会对你有所帮助。