如何实现我自己的Google Maps模拟“drop pin”功能?

时间:2011-07-06 07:50:59

标签: c# asp.net image mapping

我有一个我作为SAAS出售的网络应用程序(ASP.NET / C#)。我想实现具有以下要求的“映射”功能:

用户上传图片(地图)(这是一次性操作,不需要缩放/滚动,用户必须缩放地图以适应屏幕)

以下步骤可以重复多次:

  1. 用户在地图上选择一个位置(通过点击)
  2. 位置已保存到数据库
  3. 最后,用户可以在任何给定时间(报告)查看所有先前选择的位置(引脚)

    以上所有操作都可以通过Google地图轻松完成,但Premier许可证超出了我的价格范围。

    通过使用ASP.NET的ImageButton控件,我找到了一种简单的方法来捕获鼠标单击图像的坐标。

    困难的部分是标记图像上的位置(报告)。

    我对如何在给定X,Y坐标的图像上标记位置的建议感兴趣。

    我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

在图像按钮上生成相对有效的容器<asp:Panel style="position:relative" runat="server" ID="imagePanel">...</asp:Panel>,在每个负载上添加几个绝对定位的图像控件 - 类似

foreach(var point in points)
{
    var image = new System.Web.UI.WebControls.Image { ImageUrl = "/pin.jpg" };
    image.Style.Value = string.format("position:absolute;top:{0}px;left:{1}px;display:block;width:30px; height:30px;", point.X, point.Y);
    imagePanel.Controls.Add(image);
}

实际上不确定这是使用ImageButton捕获坐标的最佳方法 - 我最好使地图的onclick处理程序获取点击坐标,并且ajax请求(在两种情况下都使用jquery)将其保存在服务器上,并且使用从数据库传递的数据生成引脚。