توضیحات و دانلود

استفاده از API Google Maps در ASP.Net
0 0
استفاده از API Google Maps در ASP.Net

با سلام خدمت کاربران عزیز .در این مقاله،  توضیح می دهیم چگونه از API Map API در ASP.Net استفاده کنم. ابتدا باید در Google Maps API ثبت نام کنید و کلید خود را از Google دریافت کنید.

هنگامی که کلید دریافت می کنید. شما می توانید نقشه های گوگل را در وب سایت خود را با استفاده از اسکریپت زیر که از Google دریافت می کنید نمایش دهید.

<head id="Head1" runat="server">

    <title>Google Maps Example</title>

     <script type="text/javascript"

        src="http://www.google.com/jsapi?key=xxxxxxx"></script>

     <script type="text/javascript">

      google.load("maps", "2");

      // Call this function when the page has been loaded

      function initialize() {

        var map = new google.maps.Map2(document.getElementById("map"));

        map.setCenter(new google.maps.LatLng("<%=lat%>", "<%=lon%>"), 5);

        var point = new GPoint("<%=lon%>", "<%=lat%>");

        var marker = new GMarker(point);

        map.addOverlay(marker);

        map.addControl(new GLargeMapControl());

      }

      google.setOnLoadCallback(initialize);

    </script>

</head>

<body>

    <form id="form1" runat="server">

    <div>

        <div id="map" style="width: 400px; height: 400px"></div>

    </div>

    </form>

</body>

همانطور که می بینید  اسکریپت را در بخش Head در صفحه HTML قرار می دهیم . اسکریپت فوق به موقعیت مکانی شما بر روی نقشه بر اساس عرض جغرافیایی و طول جغرافیایی می پردازد. نقشه در div با شناسه نقشه بارگذاری شده است

اکنون برای دریافت عرض و طول و عرض جغرافیایی, موقعیت جغرافیایی بازدید کننده را با استفاده از آدرس IP در ASP.Net پیدا کنید . متوجه خواهید شد که متغیرهای سرور (Latitude) و Lon (longitude) که از مقادیر سرور می آیند استفاده می شود.

بر اساس آدرس IP سرویس وب به طول و عرض جغرافیایی می فرستد که XML را در زیر نشان می دهد

  <?xml version="1.0" encoding="UTF-8" ?>

  <Response>

    <Status>true</Status>

    <Ip>122.169.8.137</Ip>

    <CountryCode>IN</CountryCode>

    <CountryName>India</CountryName>

    <RegionCode>16</RegionCode>

    <RegionName>Maharashtra</RegionName>

    <City>Bombay</City>

    <ZipCode />

    <Latitude>18.975</Latitude>

    <Longitude>72.8258</Longitude>

  </Response>

C #

protected string lat, lon;

protected void Page_Load(object sender, EventArgs e)

{

    string ipaddress;

    ipaddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

    if (ipaddress == "" || ipaddress == null)

        ipaddress = Request.ServerVariables["REMOTE_ADDR"];

    DataTable dt = GetLocation(ipaddress);

    if (dt != null)

    {

        if (dt.Rows.Count > 0)

        {

            lat = dt.Rows[0]["Latitude"].ToString();

            lon = dt.Rows[0]["Longitude"].ToString(); 

        }

    }

}

 

private DataTable GetLocation(string ipaddress)

{

    //Create a WebRequest

    WebRequest rssReq = WebRequest.Create("http://freegeoip.appspot.com/xml/"

        + ipaddress);

 

    //Create a Proxy

    WebProxy px = new WebProxy("http://freegeoip.appspot.com/xml/"

        + ipaddress, true);

 

    //Assign the proxy to the WebRequest

    rssReq.Proxy = px;

 

    //Set the timeout in Seconds for the WebRequest

    rssReq.Timeout = 2000;

    try

    {

        //Get the WebResponse

        WebResponse rep = rssReq.GetResponse();

 

        //Read the Response in a XMLTextReader

        XmlTextReader xtr = new XmlTextReader(rep.GetResponseStream());

 

        //Create a new DataSet

        DataSet ds = new DataSet();

 

        //Read the Response into the DataSet

        ds.ReadXml(xtr);

        return ds.Tables[0];

    }

    catch

    {

        return null;

    }

}

VB.Net

Protected lat As String, lon As String

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)  Handles Me.Load

        Dim ipaddress As String

        ipaddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

        If ipaddress = "" OrElse ipaddress Is Nothing Then

            ipaddress = Request.ServerVariables("REMOTE_ADDR")

        End If

        Dim dt As DataTable = GetLocation(ipaddress)

        If dt IsNot Nothing Then

            If dt.Rows.Count > 0 Then

                lat = dt.Rows(0)("Latitude").ToString()

                lon = dt.Rows(0)("Longitude").ToString()

            End If

        End If

End Sub

 

Private Function GetLocation(ByVal ipaddress As String) As DataTable

        'Create a WebRequest

        Dim rssReq As WebRequest = WebRequest. _

           Create("http://freegeoip.appspot.com/xml/" & ipaddress)

 

        'Create a Proxy

        Dim px As New WebProxy("http://freegeoip.appspot.com/xml/" _

        & ipaddress, True)

 

        'Assign the proxy to the WebRequest

        rssReq.Proxy = px

 

        'Set the timeout in Seconds for the WebRequest

        rssReq.Timeout = 2000

        Try

            'Get the WebResponse

            Dim rep As WebResponse = rssReq.GetResponse()

 

            'Read the Response in a XMLTextReader

            Dim xtr As New XmlTextReader(rep.GetResponseStream())

 

            'Create a new DataSet

            Dim ds As New DataSet()

 

            'Read the Response into the DataSet

            ds.ReadXml(xtr)

            Return ds.Tables(0)

        Catch

            Return Nothing

        End Try

End Function

همان طور که می بینید در  کد بالا می توانید عرض و طول و عرض جغرافیایی را از پاسخ XML در متغیرهای LAT و LON دریافت کنید که  برای انتقال مقادیر از عملکرد جاوا اسکریپت API Google استفاده می کنیم. 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :