Simple.aspx.cs
上传用户:sex100000
上传日期:2013-11-09
资源大小:1377k
文件大小:2k
源码类别:

GIS编程

开发平台:

C#

  1. using System;
  2. using System.Data;
  3. using System.Drawing;
  4. using System.Configuration;
  5. using System.Collections;
  6. using System.Web;
  7. using System.Web.Security;
  8. using System.Web.UI;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.WebControls.WebParts;
  11. using System.Web.UI.HtmlControls;
  12. public partial class Simple : System.Web.UI.Page
  13. {
  14. private SharpMap.Map myMap;
  15. protected void Page_Load(object sender, EventArgs e)
  16. {
  17. //Set up the map. We use the method in the App_Code folder for initializing the map
  18. myMap = MapHelper.InitializeMap(new System.Drawing.Size((int)imgMap.Width.Value,(int)imgMap.Height.Value));
  19. if (Page.IsPostBack) 
  20. {
  21. //Page is post back. Restore center and zoom-values from viewstate
  22. myMap.Center = (SharpMap.Geometries.Point)ViewState["mapCenter"];
  23. myMap.Zoom = (double)ViewState["mapZoom"];
  24. }
  25. else
  26. {
  27. //This is the initial view of the map. Zoom to the extents of the map:
  28. //myMap.ZoomToExtents();
  29. //or center on 0,0 and zoom to full earth (360 degrees)
  30. //myMap.Center = new SharpMap.Geometries.Point(0,0);
  31. //myMap.Zoom = 360;
  32. //Create the map
  33. GenerateMap();
  34. }
  35. }
  36.   
  37. protected void imgMap_Click(object sender, ImageClickEventArgs e)
  38. {
  39. //Set center of the map to where the client clicked
  40. myMap.Center = myMap.ImageToWorld(new System.Drawing.Point(e.X, e.Y));
  41. //Set zoom value if any of the zoom tools were selected
  42. if (rblMapTools.SelectedValue == "0") //Zoom in
  43. myMap.Zoom = myMap.Zoom * 0.5;
  44. else if (rblMapTools.SelectedValue == "1") //Zoom out
  45. myMap.Zoom = myMap.Zoom * 2;
  46. //Create the map
  47. GenerateMap();
  48. }
  49.   
  50. /// <summary>
  51. /// Creates the map, inserts it into the cache and sets the ImageButton Url
  52. /// </summary>
  53. private void GenerateMap()
  54. {
  55. //Save the current mapcenter and zoom in the viewstate
  56. ViewState.Add("mapCenter", myMap.Center);
  57. ViewState.Add("mapZoom", myMap.Zoom);
  58. //Render map
  59. System.Drawing.Image img = myMap.GetMap();
  60. string imgID = SharpMap.Web.Caching.InsertIntoCache(1, img);
  61. imgMap.ImageUrl = "getmap.aspx?ID=" + HttpUtility.UrlEncode(imgID);
  62. }
  63. }