【发布时间】:2009-07-26 03:22:36
【问题描述】:
好的,这就是交易,
我正在尝试在一些 Yelp 地图标记上显示工具提示(而不是 ginfowindow),这些标记是我拉到 Google 地图上的。
我希望获得与 Yelp 完全相同的效果。即工具提示似乎设置为使其z-index始终高于附近的所有其他元素,一旦工具提示出现它太靠近页面顶部/页面底部等,它就会移动工具提示......
到目前为止,我已经能够通过将工具提示附加到正文(而不是地图)来正确显示工具提示的 z-index。我以为我走在了正确的轨道上,但后来我在更大的显示器上检查了实现,并意识到我想出的解决方案是将工具提示推得太远了。请看下面的代码:
GEvent.addListener(marker,'mouseover',function(){
showMessage(this, infoWindowHtml);
});
GEvent.addListener(marker,'mouseout',function(){
$("#tooltip").hide();
});
/*
* Displays a Tooltip for the currently hovered marker
*/
function showMessage (marker, text) {
var markerOffset = ymap.fromLatLngToContainerPixel(marker.getPoint());
theight = 20;
twidth = 175;
var twidth2 = $(".maincontent").width() + 12;
$("#tooltip")
.fadeIn()
.html("<div class='content'>"+text+"</div>")
.css({ top: markerOffset.y - theight, left: markerOffset.x + twidth2 - twidth/2 })
.appendTo("body");
}
根据这段代码,有没有人看到我在执行这个工具提示时可能做错了什么?
【问题讨论】:
-
我能够通过附加到正文并找到用户窗口的宽度(通过Javascript)来达到预期的效果。之后,将浏览器宽度的差异删除/添加到我的工具提示的左侧 CSS 位置是一个简单的数学问题。
标签: javascript jquery css google-maps codeigniter