我正在使用Google Maps API 3和自定义叠加层(OverlayView)
我有以下代码:
http://jsfiddle.net/8X6cY/1/
请用鼠标悬停制造商以查看工具提示覆盖。
如何将工具提示弹出窗口(黄色窗口)精确定位在标记附近?我的X,Y想法不起作用,因为它与地图有关,因此,如果页面的布局是流动的,我的解决方案(X,Y)毫无价值。
有什么想法吗?
google.maps.event.addListener(marker, 'mouseover', function(event) {
var pixel = latLngToPixel.getProjection().fromLatLngToContainerPixel(event.latLng);
// Grab marker position
var pos = [ pixel.x, pixel.y ];
// Create the tooltip on a dummy div and store it on the marker
marker.tooltip = $('<div />').qtip({
content: {
text: 'I\'m a replacement tooltip for the regular google one<br />New line<br /> new line<br />Newer line',
title: {
text: 'aaa',
button: true
}
},
position: {
at: "right center",
my: "left center",
target: pos,
container: $('#map_canvas')
},
show: {
ready: true,
event: false,
solo: true
},
hide: {
event: 'mouseleave unfocus'
}
});
});
}
最佳答案
以防万一有人在寻找答案,我想这样做:
// getting marker x,y offset from left-top map
var pixel = latLngToPixel.getProjection().fromLatLngToContainerPixel(event.latLng);
// then get the map_canvas offset with jquery
var left = $('#map_canvas').offset().left;
var top = $('#map_canvas').offset().top;
// x,y position tooltip
var pos = [ pixel.x + left, pixel.y + top];
我希望它可以帮助某人,这花了我很多时间
关于jquery - Google Maps:如何在标记上准确定位OverlayView?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9242786/