【发布时间】:2014-05-28 12:49:50
【问题描述】:
将鼠标快速移动到左右两个标记上时,地图左上角会出现标记信息窗口的白色底部提示。
在此处查看实际操作http://jsfiddle.net/WGy4g/3/
var map = null;
initialize();
function initialize() {
var mapOptions = {center: new google.maps.LatLng(-34.397, 150.644),zoom: 8};
map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
addMarker(-34.397, 150.644);
addMarker(-34.377, 150.534);
}
function addMarker(lat,lng) {
var marker = new google.maps.Marker({position: new google.maps.LatLng(lat,lng), title: "marker"});
marker.setMap(map);
google.maps.event.addListener(marker, 'mouseover', function() {
if (!this.infowindow) {
this.infowindow = new google.maps.InfoWindow({content: 'abc'});
}
this.infowindow.open(map, this);
});
google.maps.event.addListener(marker, 'mouseout', function() {
this.infowindow.close();
});
}
发布错误报告:https://code.google.com/p/gmaps-api-issues/issues/detail?id=6746&thanks=6746&ts=1401343988
【问题讨论】:
-
奇怪。您实际上不需要每次都创建一个新的信息窗口。创建一个全局范围
var infowindow = new google.maps.infowindow();。然后,您可以在要更改内容时调用infowindow.setContent('...');并调用infowindow.open(map, marker);来显示它。但是闪烁的问题仍然存在。我可以看到官方文档中的所有示例都发生了同样的情况...... -
@davidkonrad 可能有充分的理由。从我在示例中看到的情况来看,没有必要。但这只是一个提示。仅供参考,我尝试过不指定 API 版本,结果也是一样。
-
如果你拖动地图,那个“幽灵”标记也会移动。
-
要在免费 API 中使用“实验”或“发布”版本以外的其他内容,您需要将其指定为 v=3.15(即当前的“冻结”版本,以及最旧的可用版本)。 Versioning
标签: javascript google-maps google-maps-api-3