你需要做的是将一个处理程序添加到图像的点击事件中,该处理程序将显示标记名称的输入,然后在填充输入后将标记添加到点击位置:这会给你一个想法(测试http://jsfiddle.net/Rqdv9/)
var storage = {}
$(document).ready(function() {
$("img#mallmap").click(function(e) {
storage.posx = e.pageX;
storage.posy = e.pageY;
var nameinput = $("<input />");
nameinput.attr('type','text').appendTo('body');
nameinput.bind('blur',function() {
if ($(this).val() != '')
{
var markertext = $(this).val();
nameinput.remove();
var marker = $("<div></div>");
marker.attr("class","marker").text(markertext).css('color','white').hide().appendTo('body');
marker.css({'position' : 'absolute','left' : storage.posx, 'top' : storage.posy}).show();
}
}).hide().css({'position' : 'absolute','left' : storage.posx, 'top' : storage.posy}).show();
})
});
这是一个非常简单的,我想你想收集更多的信息不仅仅是文本,所以你可以有一个显示在点击一个预先设计的动态表单,让他们为标记等选择图像,然后简单地为标记创建元素,然后如图所示添加它。
如果您需要重新使用它们,那么这些职位可以保存在数据库中。您可以将posX和posY保存到数据库中,只要您想要,就可以再次使用它们。您还可以保存额外的数据(img /信息/创建日期等)。 – Milaan
我最终使用了类似的东西,以及来自@Dheeraj Kumar的回答MobilyMap插件 –