PolygonHotSpot.Coordinates Property

 

A string of coordinates that represents the vertexes of a PolygonHotSpot object.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

Public Property Coordinates As String

Property Value

Type: System.String

A string that represents the coordinates of a PolygonHotSpot object's vertexes.

Use the Coordinates property to specify the coordinates of the vertexes of a PolygonHotSpot object. A polygon vertex is a point at which two polygon edges meet. The string that you specify must be formatted with each coordinate separated by a comma. Each vertex that you specify must have both an x- coordinate and a y-coordinate. For example, the string "128,185,335,157,510,224,510,383,228,383" defines a polygon hot spot with five vertexes. The x-coordinate of the first vertex is 128. The y-coordinate of the first vertex is 185.

The following code example demonstrates how to programmatically create a PolygonHotSpot object and add it to an ImageMap control. The Coordinates property is used to specify the coordinates of the vertexes of the PolygonHotSpot object. The ImageMap control contains two other PolygonHotSpot objects that have been added declaratively. Each PolygonHotSpot object represents a geographical region on the map. When the user clicks a PolygonHotSpot object, it posts back to the server and the type and name of the hot spot are displayed in a label.

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    ' Programmatically create a PolygonHotSpot.
    Dim Polygon1 As New PolygonHotSpot
    Polygon1.Coordinates = "128,185,335,157,400,224,400,400,228,400"
    Polygon1.PostBackValue = "Southern"
    Polygon1.AlternateText = "Southern Region"

    ' Add it to the end of the ImageMap control's
    ' HotSpotCollection.
    Regions.HotSpots.Add(Polygon1)
  End Sub

  Sub RegionMap_Clicked(ByVal sender As Object, ByVal e As ImageMapEventArgs)
    Dim hotSpotType As String

    ' When a user clicks a hot spot, display
    ' the hot spot's type and name.
    Select Case (e.PostBackValue)

      Case ("Western")
        hotSpotType = Regions.HotSpots(0).ToString()
        Message1.Text = "You selected " & hotSpotType & " " & e.PostBackValue

      Case ("Northern")
        hotSpotType = Regions.HotSpots(1).ToString()
        Message1.Text = "You selected " & hotSpotType & " " & e.PostBackValue

      Case ("Southern")
        hotSpotType = Regions.HotSpots(2).ToString()
        Message1.Text = "You selected " & hotSpotType & " " & e.PostBackValue

      Case Else
        Message1.Text = "You did not click a valid hot spot region."

    End Select
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
  <title>PolygonHotSpot Constructor Example</title>
</head>
  <body>
    <form id="Form1" runat="server">

      <h3>PolygonHotSpot Constructor Example</h3>

      <!-- Change or remove the width and height attributes as
           appropriate for your image. -->
      <asp:imagemap id="Regions"           
        imageurl="Images/RegionMap.jpg"
        alternatetext="Sales regions" 
        hotspotmode="PostBack"
        width="400"
        height="400"
        onclick="RegionMap_Clicked"   
        runat="Server">            

        <asp:PolygonHotSpot 
          coordinates="0,0,176,0,125,182,227,400,0,400"         
          postbackvalue="Western"
          alternatetext="Western Region">
        </asp:PolygonHotSpot>

        <asp:PolygonHotSpot 
          coordinates="177,0,400,0,400,223,335,154,127,180"         
          postbackvalue="Northern"
          alternatetext="Northern Region">
        </asp:PolygonHotSpot>

      </asp:imagemap>

      <br /><br />

      <asp:label id="Message1"
        runat="Server">
      </asp:label>                 

    </form>      
  </body>
</html>

.NET Framework
Available since 2.0
Return to top
Show: