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

دریافت طول و عرض جغرافیایی آدرس با استفاده از موقعیت API یاهو در Asp.net
0 0
دریافت طول و عرض جغرافیایی آدرس با استفاده از موقعیت API یاهو در Asp.net

باسلام در این مقاله توضیح خواهیم داد که چگونه برای پیدا کردن عرض و طول جغرافیایی آدرس از یاهو API موقعیت توسعه دهنده شبکه (YDN) استفاده کنید .
 
ثبت و گرفتن کلید Consumer
اولین چیزی که باید انجام دهید این است که ثبت نام کنید و کلید Consumer (API) را با استفاده از لینک زیر دریافت کنید
ثبت نام کنید
توجه:

شما باید فقط زمانی که میخواهید برنامه خود را در سرور بکار ببرید، ثبت نام کنید. برای آزمایش محلی شما نیازبه کلید Consumer (API) ندارید.
پس از ثبت نام شما می توانید برنامه های ثبت شده خود را در زیر پیدا کنید
https://developer.apps.yahoo.com/projects
آدرس یاهو API پاسخ XML
برای بررسی فرمت ساختاری پاسخ XML بازگشتی از API Location یاهو، شما می توانید آن را با قرار دادن URL زیر در مرورگر تست کنید
http://where.yahooapis.com/geocode؟location=Mumbai&appid={ConsumerKey}
و خروجی زیر را باز می گرداند

<?xmlversion="1.0"encoding="UTF-8"?>
-<ResultSetversion="1.0">
    <!-- gws13.maps.sg1.yahoo.com uncompressed/chunked Thu Mar 8 02:52:52 PST 2012 -->
 
    <!-- wws3.geotech.sg1.yahoo.com uncompressed/chunked Thu Mar 8 02:52:52 PST 2012 -->
    <Error>0</Error><ErrorMessage>No error</ErrorMessage><Locale>us_US</Locale><Quality>40</Quality><Found>1</Found>-<Result>
        <quality>40</quality>
        <latitude>19.076191</latitude>
        <longitude>72.875877</longitude>
        <offsetlat>19.076191</offsetlat>
        <offsetlon>72.875877</offsetlon>
        <radius>23300</radius>
        <name/>
        <line1/>
        <line2/>
        <line3>Mumbai, Maharashtra</line3>
        <line4>India</line4>
        <house/>
        <street/>
        <xstreet/>
        <unittype/>
        <unit/>
        <postal/>
        <neighborhood/>
        <city>Mumbai</city>
        <county/>
        <state>Maharashtra</state>
        <country>India</country>
        <countrycode>IN</countrycode>
        <statecode>MH</statecode>
        <countycode/>
        <uzip/>
        <hash/>
        <woeid>2295411</woeid>
        <woetype>7</woetype>
    </Result>
</ResultSet>

کد HTML
در زیر کد HTML از صفحه است، یک TextBox که کاربر می تواند محل مورد نظر خود را برای پیدا کردن طول و عرض، بادکمه ASP.Net که بعدا در کنترل دو برچسب ASP.Net است نمایش داده می شود .

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="txtLocation" runat="server"></asp:TextBox>
        <asp:Button ID="btnFind" runat="server" Text="Find Location" OnClick="FindLocation" />
        <hr />
        Latitude:
        <asp:Label ID="lblLatitude" runat="server" Text=""></asp:Label><br />
        Longitude:
        <asp:Label ID="lblLongitude" runat="server" Text=""></asp:Label>
    </div>
    </form>
</body>
</html>

فضاهای نام
شما باید فضای نامهای زیر را وارد کنید
C #

using System.Net;
using System.Data;

VB.Net

Imports System.Net
Imports System.Data

 استفاده از API Location یاهو برای پیدا کردن عرض و طول جغرافیایی
هنگامی که دکمه ASP.Net را کلیک می کنید، رویداد زیر فعال می شود که درخواست وب را به API Location یاهو ارسال می کند و پاسخ XML را باز می گرداند. پاسخ XML سپس به DataSet خوانده می شود و در نهایت داده Latitude و Longitude در کنترل های برچسب مربوطه نمایش داده می شود.
C #

protected void FindLocation(object sender, EventArgs e)
{
    string appId = "{ConsumerKey}";
    string url = string.Format("http://where.yahooapis.com/geocode?location={0}&appid={1}", Server.UrlEncode(txtLocation.Text), appId);
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
    using (WebResponse response = request.GetResponse())
    {
        using (DataSet ds = new DataSet())
        {
            ds.ReadXml(response.GetResponseStream());
            lblLatitude.Text = ds.Tables["Result"].Rows[0]["Latitude"].ToString();
            lblLongitude.Text = ds.Tables["Result"].Rows[0]["Longitude"].ToString();
        }
    }
}

VB.Net

Protected Sub FindLocation(sender As Object, e As EventArgs)
    Dim appId As String = "{ConsumerKey}"
    Dim url As String = String.Format("http://where.yahooapis.com/geocode?location={0}&appid={1}", Server.UrlEncode(txtLocation.Text), appId)
    Dim request As HttpWebRequest = DirectCast(HttpWebRequest.Create(url), HttpWebRequest)
    Using response As WebResponse = request.GetResponse()
        Using ds As New DataSet()
           ds.ReadXml(response.GetResponseStream())
           lblLatitude.Text = ds.Tables("Result").Rows(0)("Latitude").ToString()
           lblLongitude.Text = ds.Tables("Result").Rows(0)("Longitude").ToString()
        End Using
    End Using
End Sub

 


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

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