右键单击事件怎么写啊?

7 views
Skip to first unread message

badnews

unread,
Nov 29, 2008, 8:38:36 AM11/29/08
to Google 地图 API 讨论组

根据数据库坐标,将点显示在地图上,左键单击显示此点信息。

想实现右键单击弹出是否确认删除此点的提示框?

Phinix Chen

unread,
Dec 1, 2008, 5:54:57 AM12/1/08
to Google-Map...@googlegroups.com
API里没有这种右键单击事件,实在需要的话只能自己定义了,不过要取到GMarker对应的DOM比较麻烦,实在不行还是自定义一个GMarker控件然后再添加右键点击事件的监听吧

2008/11/29 badnews <wors...@sina.com>

 根据数据库坐标,将点显示在地图上,左键单击显示此点信息。

 想实现右键单击弹出是否确认删除此点的提示框?



badnews

unread,
Dec 1, 2008, 9:20:01 AM12/1/08
to Google 地图 API 讨论组

一个右键单击的代码


var map = null;
var geocoder = null;
var contextmenu;
function load(loc) {
if (GBrowserIsCompatible()) {
var point;
map=new GMap2(document.getElementById("map"));

map.addControl(new GOverviewMapControl());
map.enableDoubleClickZoom();
map.enableScrollWheelZoom();
map.addControl(new GMapTypeControl());
map.addControl(new GLargeMapControl());
createContextMenu(map);
var address='<font size="2" face="Arial"><b>INDIA</b><br/><br/
>XYZ Inc.<br/>New York City <br/>America<br/>Ph.: 343254543</font>';
point = new GLatLng(22.592057,88.421815);

var marker = new GMarker(point);
map.setCenter(point,17);
map.addOverlay(marker);
map.setMapType(G_HYBRID_MAP);
GEvent.addListener(marker,
"click", function() {marker.openInfoWindowHtml(address);});
marker.openInfoWindowHtml(address);


//var marker = createMarker(posn,title,icon);

}
}

function createContextMenu(map)
{
contextmenu = document.createElement("div");
contextmenu.style.visibility="hidden";
contextmenu.style.background="#ffffff";
contextmenu.style.border="1px solid #8888FF";

contextmenu.innerHTML ="<a href='javascript:zoomIn()'><div
class='context'> Zoom in </div></a>"
+ "<a href='javascript:zoomOut()'><div class='context'> Zoom out </
div></a>"
+ "<a href='javascript:zoomInHere()'><div class='context'> Zoom in
here </div></a>"
+ "<a href='javascript:zoomOutHere()'><div class='context'> Zoom out
here </div></a>"
+ "<a href='javascript:centreMapHere()'><div class='context'> Centre
map here </div></a>";

map.getContainer().appendChild(contextmenu);
GEvent.addListener(map,"singlerightclick",function(pixel,tile)
{
clickedPixel = pixel;
var x=pixel.x;
var y=pixel.y;
if (x > map.getSize().width - 120)
{
x = map.getSize().width - 120
}
if (y > map.getSize().height - 100)
{
y = map.getSize().height - 100
}
var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize
(x,y));
pos.apply(contextmenu);
contextmenu.style.visibility = "visible";
});
GEvent.addListener(map, "click", function()
{
contextmenu.style.visibility="hidden";
});
}
function zoomIn()
{
map.zoomIn();
contextmenu.style.visibility="hidden";

}
function zoomOut()
{
map.zoomOut();
contextmenu.style.visibility="hidden";
}
function zoomInHere()
{
var point = map.fromContainerPixelToLatLng(clickedPixel)
map.zoomIn(point,true);
contextmenu.style.visibility="hidden";
}
function zoomOutHere()
{
var point = map.fromContainerPixelToLatLng(clickedPixel)
map.setCenter(point,map.getZoom()-1);
contextmenu.style.visibility="hidden";
}
function centreMapHere()
{
var point = map.fromContainerPixelToLatLng(clickedPixel)
map.setCenter(point);
contextmenu.style.visibility="hidden";
}

wdz wu

unread,
Dec 8, 2008, 10:09:11 AM12/8/08
to Google-Map...@googlegroups.com
看英文api 文档

2008/12/1 badnews <wors...@sina.com>
Reply all
Reply to author
Forward
0 new messages