11

任何人都知道如何在 Javascript 中为图像(不是地图)添加标记?

理想情况下,我想要一个行为类似于向地图添加标记的处理程序 - 即 onclick 导致标记显示在被单击的点,并返回被单击点的 x/y 像素坐标。

这可能吗?

干杯理查德

4

1 回答 1

12

是的,有可能。

尽管仅使用 javascript 完全可行,但我会使用某种库,例如JQuery

方法是使用带有标记的 img 元素,然后向要用作“地图”的图像添加click处理程序,将标记移动到单击元素的位置。

这是一个未经测试的示例:

<img src="marker.png" id="marker" style="display: none; position: absolute;" />
<img src="map.png" id="map" />

<script type="text/javascript">
$('#map').click(function(e)
{
   $('#marker').css('left', e.pageX).css('top', e.pageY).show();
   // Position of the marker is now e.pageX, e.pageY 
   // ... which corresponds to where the click was.
});
</script>

编辑: 当然,如果没有 JQuery,这也是完全可能的。下面是一个代码示例。

<img src="marker.png" id="marker" style="display: none; position: absolute;" />
<img src="map.png" id="map" />

<script type="text/javascript">
document.getElementById('map').onclick = function(e)
{
   with(document.getElementById('marker'))
   {
        style.left = e.pageX;
        style.top = e.pageY;
        style.display = 'block';
   }
   // Here you forward the coordinates e.pageX, e.pageY 
   // ... to whatever function that needs it
};
</script>
于 2009-10-26T11:13:03.987 回答