标签:style blog http color io os 使用 ar java
CSS样式:
.contextMenu {
position: absolute;
min-width: 100px;
z-index: 1000;
background: #fff;
border-top: solid 1px #CCC;
border-left: solid 1px #CCC;
border-bottom: solid 1px #676767;
border-right: solid 1px #676767;
padding: 0px;
margin: 0px;
display: none;
text-align: center;
/*font-size: smaller;*/
}
.contextMenu a:hover {
cursor: pointer;
}
关键代码:
addMenu: function (menuItem) { if (menuItem) { var contextMenu = $("#rightMenu"); var map = window.gmap; var parentdiv = $("<div id=‘rightMenu‘ class=‘contextMenu‘></div>"); for (var i = 0; i < menuItem.length; i++) { var div = $("<a id=mugt" + i + "><div>" + menuItem[i].text + "</div></a>"); parentdiv.append(div); } $(window.gmap.getDiv()).append(parentdiv); google.maps.event.addListener(window.gmap, "rightclick", function (e) { var contextMenu = $("#rightMenu"); if (contextMenu) { contextMenu.hide(); var mapcontainer = $(window.gmap.getDiv()); var x = e.pixel.x; var y = e.pixel.y; if (x > mapcontainer.width() - contextMenu.width()) { x -= contextMenu.width(); } if (y > mapcontainer.height() - contextMenu.height()) { y -= contextMenu.height(); } contextMenu.css({ top: y, left: x }).fadeIn(100); contextMenu.find(‘a‘).click(function (event) { var text = $(this).context.innerText; if (text) { for (var i = 0; i < menuItem.length; i++) { if (menuItem[i].text == text) { menuItem[i].callback(e); } $("#mugt" + i).unbind(‘click‘); } contextMenu.hide(); } }); //----------------------------------------------------------- $.each(‘click dragstart zoom_changed maptypeid_changed‘.split(‘ ‘), function (i, name) { google.maps.event.addListener(window.gmap, name, function () { contextMenu.hide(); }); }); } }); } }
代码使用:
function createContextMenu() {
/// <summary>
/// 创建地图右键菜单
/// </summary>
var txtMenuItem = [
//{
// text: ‘创建坐标‘,
// callback: function (e) {
// var lat = e.lat;
// var lng = e.lng;
// $("#xlat").val(lat);
// $("#ylong").val(lng);
// createMarker(lng, lat);
// }
//},
{
text: ‘创建起点坐标‘,
callback: function (e) {
var lat = e.lat;
var lng = e.lng;
$("#x1").val(lat);
$("#y1").val(lng);
createMarker(lng, lat);
}
},
{
text: ‘创建结束坐标‘,
callback: function (e) {
var lat = e.lat;
var lng = e.lng;
$("#x2").val(lat);
$("#y2").val(lng);
createMarker(lng, lat);
}
}
];
GmapUtils.addMenu(txtMenuItem);
}
代码效果:
这里的代码基于:Google Map JavaScript ApiV3;
菜单样式有点丑陋,大家可以自己美化,希望有所帮助!
标签:style blog http color io os 使用 ar java
原文地址:http://www.cnblogs.com/Yan-Zhiwei/p/4001939.html