的工作片斷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