//初始化右键菜单,在初始化地图中一并初始化了。
var ContextMenuControlDiv = document.createElement(’DIV’);
var ContextMenuControl = new createContextMenu(ContextMenuControlDiv, map);
ContextMenuControlDiv.index = 1;
map.controls[google.maps.ControlPosition.TOP].push(ContextMenuControlDiv);/*区别于google map v2的增加层的方式*/
/*创建右键菜单*/
function createContextMenu(controlUI,map) {
contextmenu = document.createElement("div");
contextmenu.style.display = "none";
contextmenu.style.background = "#ffffff";
contextmenu.style.border = "1px solid #8888FF";
contextmenu.innerHTML = "<a href=’javascript:alert();’><div class=’context’> 放大 </div></a>"
+ "<a href=’javascript:zoomOut()’><div class=’context’> 缩小 </div></a>"
+ "<a href=’javascript:zoomInHere()’><div class=’context’> 以此为中心放大 </div></a>"
+ "<a href=’javascript:zoomOutHere()’><div class=’context’> 以此为中心缩小 </div></a>"
+ "<a href=’javascript:centreMapHere()’><div class=’context’> 以此居中 </div></a>";
controlUI.appendChild(contextmenu);
/*给整个地图增加右键事件监听*/
google.maps.event.addListener(map, ’rightclick’, function (event) {
alert(event.latLng);
contextmenu.style.display = "block";
});
/*点击菜单层中的某一个菜单项,就隐藏菜单*/
google.maps.event.addDomListener(controlUI, ’click’, function () {
contextmenu.style.display = "none";
});
}
这个是google map v3的右键菜单。
唯一不足的就是,不能在右键的地方现实菜单,只能在一个固定的位置现实。
+---------------+
+ TL T TR +
+ +
+ L R +
+ +
+ +
+ +
+ BL B BR +
+---------------+
常数
常数 说明 BOTTOM
元素定位在底部行的中间。 BOTTOM_LEFT
元素定位在左下角并向中间流动。元素定位在 Google 徽标的右侧。 BOTTOM_RIGHT
元素定位在右下角并向中间流动。元素定位在版权的左侧。 LEFT
元素定位在左侧,位于左上角的元素下面,并向下流动。 RIGHT
元素定位在右侧,位于右上角的元素下面,并向下流动。 TOP
元素定位在顶部行的中间。 TOP_LEFT
元素定位在左上角并向中间流动。 TOP_RIGHT
元素定位在右上角并向中间流动。
声明:转载请标明出处,谢谢。 http://www.camnpr.com