Google地图如何在一张图片上实现多个点击事件处理?

时间:2011-07-19 10:43:34

标签: javascript google-maps javascript-events

我发现在谷歌地图中,​​控制面板是一个完整的图像:
enter image description here

但是当你点击它的不同位置时,你可以完成不同的事情。我想知道如何实现这个目标?

3 个答案:

答案 0 :(得分:1)

它是一个图像,但有一堆对象使用它作为背景但位于不同的位置。他们被称为sprites

答案 1 :(得分:0)

Javascript onclick事件对象包含有关点击坐标的信息。以下是如何提取和使用该信息的示例:

从这里被盗:http://www.emanueleferonato.com/2006/09/02/click-image-and-get-coordinates-with-javascript/

<html>
<head>
<script language="JavaScript">
function point_it(event){
    pos_x = event.offsetX?(event.offsetX):event.pageX-document.getElementById("pointer_div").offsetLeft;
    pos_y = event.offsetY?(event.offsetY):event.pageY-document.getElementById("pointer_div").offsetTop;
    document.getElementById("cross").style.left = (pos_x-1) ;
    document.getElementById("cross").style.top = (pos_y-15) ;
    document.getElementById("cross").style.visibility = "visible" ;
    document.pointform.form_x.value = pos_x;
    document.pointform.form_y.value = pos_y;
}
</script>
</head>
<body>
<form name="pointform" method="post">
<div id="pointer_div" onclick="point_it(event)" style = "background-image:url('sun.jpg');width:500px;height:333px;">
<img src="point.gif" id="cross" style="position:relative;visibility:hidden;z-index:2;"></div>
You pointed on x = <input type="text" name="form_x" size="4" /> - y = <input type="text" name="form_y" size="4" />
</form> 
</body>
</html>

答案 2 :(得分:0)

您可以使用HTML图片地图。它们定义了图像中可点击且可彼此区分的区域。

另见以下链接: