Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
192
rated 0 times [  196] [ 4]  / answers: 1 / hits: 23613  / 15 Years ago, mon, october 26, 2009, 12:00:00

Anyone know how I can add a marker to an image (not a map) in Javascript?



Ideally I'd like a handler that behaves much like adding a marker to a map - i.e. onclick causes a marker to be displayed at the point that was clicked, and returns the x/y pixel coordinates of the point that was clicked.



Is this possible?



Cheers
Richard


More From » image

 Answers
31

Yes, it is possible.



Although it's totally doable with just javascript, I would use some kind of library like JQuery.



The approach would be to have an img-element with your marker, and then add a click-handler to the image you want to use as your map which moves your marker to where the element was clicked.



Here is an untested example:



<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>





Edit:
And this is totally possible without JQuery too, of course.
Below is a code-example of just that.



<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>

[#98452] Tuesday, October 20, 2009, 15 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
rebekahalysah

Total Points: 304
Total Questions: 96
Total Answers: 102

Location: Taiwan
Member since Mon, May 2, 2022
2 Years ago
;