Google 地图 Api、GeoJson 和 InfoWindow
Google Maps Api, GeoJson and InfoWindow
谁能告诉我为什么第一次点击时信息窗口没有出现?
第一次点击后它总是工作正常...
我只是从 geojson 文件加载数据并尝试添加点击事件。
将信息窗口锚定到 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);
我从 click
侦听器中删除了 var infoWindow
,它工作正常。
像这样:
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
仅在第一次点击时被初始化。如果你把它放在外面你初始化它然后只设置内容。
在函数之外初始化您的信息窗口变量,在 initmap() 中的某些位置;功能。
希望对您有所帮助。
谁能告诉我为什么第一次点击时信息窗口没有出现? 第一次点击后它总是工作正常...
我只是从 geojson 文件加载数据并尝试添加点击事件。
将信息窗口锚定到 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);
我从 click
侦听器中删除了 var infoWindow
,它工作正常。
像这样:
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
仅在第一次点击时被初始化。如果你把它放在外面你初始化它然后只设置内容。
在函数之外初始化您的信息窗口变量,在 initmap() 中的某些位置;功能。
希望对您有所帮助。