的工作片断jQuery的风格准备复制/粘贴:
第1步 - 初始化你的地图和选项
<html>
<head>
<script src="get-your-jQuery" type="text/javascript"></script>
<script src="get-your-maps.API" type="text/javascript"></script>
<script type="text/javascript">
<!--
$(document).ready(function(){
var bucharest = new google.maps.LatLng(44.43552, 26.10250);
var options = {
zoom: 14,
center: bucharest,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
正如你看到的,越低,变量映射不在VAR前面,因为它应该是Global,因为我们使用另一个函数来获取fromLatLngToContainerPixel。欲了解更多详情,请查询closures。
map = new google.maps.map($("#map_canvas")[0], options);
var marker = new google.maps.Marker({
position: google.maps.LatLng(44.4407,26.0864),
map: map
});
new google.maps.event.addListener(marker, 'mouseover', function(){
placeMarker(marker.getPosition(),'#tooltip');//param1: latlng, param2: container to place result
});
new google.maps.event.addListener(map, 'bounds_changed', function(){
$("#tooltip").css({display:'none'}); //this is just so you can see that all goes well ;)
});
overlay = new google.maps.OverlayView();
overlay.draw = function() {};
overlay.setMap(map);
}); //here ends jQuery.ready
function placeMarker(location, ID){
var containerPixel = overlay.getProjection().fromLatLngToContainerPixel(location);
var divPixel = overlay.getProjection().fromLatLngToDivPixel(location);
$(ID).css({top:containerPixel.y, left:containerPixel.x, 'dislay':'block'});
}
//-->
</script>
</head>
<body>
<div id="tooltip" style="width:100px; height:100px; position:absolute; z-index:1; background:#fff">Here I am!</div>
<div id="map_canvas" style="width:300px; height:300px"></div>
</body>
</html>
这个问题不应该被标记为接受吗?看起来你的问题已经解决了。 – 2012-05-04 04:17:15
@jeff - 您正在编辑超过2年的问题,不断将它们撞到活动列表的顶部。代码已经正确格式化,使颜色漂亮是一个小的改变,并不是必要的。 – LittleBobbyTables 2012-08-06 17:50:36
@LittleBobbyTables - 此问题已被浏览近19,000次。我认为有人会最终找到有用的语法突出显示。 – jeff 2012-08-06 17:53:24