0

私は Google Maps API v3 を使用しています。このドキュメントによると、のように任意の 2 点間のパスを取得できます。

VB.Netを使用して同じものを取得したいのではありません..サーバー側の処理で同じ結果を得たいです(パス[緯度経度ペア]を取得したいという意味です)。

私はコードで試しました

  Dim lat As Double = 17.38489
        Dim lon As Double = 78.486939

        Dim lat2 As Double = 20.296095
        Dim lon2 As Double = 85.82459

        'For counter As Integer = 0 To 1
        Try

            Dim myURL As String = "http://maps.googleapis.com/maps/api/directions/json?origin=" & lat.ToString("0.000000") & "," & lon.ToString("0.000000") & "&destination=" & lat2.ToString("0.000000") & "," & lon2.ToString("0.000000") & "&sensor=false"
            Dim myRequest As HttpWebRequest = WebRequest.Create(myURL)

            myRequest.Method = "GET"

            ' Add request headers
            myRequest.KeepAlive = True
            myRequest.Accept = "*/*"
            myRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0;)"
            myRequest.Headers.Add("Accept-Language: en-us")
            myRequest.Referer = "http://www.google.com/mapmaker?ll=16.303005,81.05464&spn=0.021583,0.040684&z=15"
            myRequest.Headers.Add(HttpRequestHeader.AcceptLanguage, "en-sg")
            'myRequest.ContentType = "application/x-www-form-urlencoded"

            Dim c As Char = "c"

            Dim sb As New StringBuilder()

            ' Send the request and get the response
            Dim myResponse As HttpWebResponse = myRequest.GetResponse

            Dim reader As StreamReader = New StreamReader(myResponse.GetResponseStream())
            sb.Append(reader.ReadToEnd())
            reader.Close()
            myResponse.Close()

            Dim s As String = sb.ToString()

            Dim ds As String = s
            Response.Write(s)
        Catch ex As Exception

        End Try

誰でも私を助けることができます..

4

1 に答える 1

0

これをサーバー側で行うことはTOSに違反していると確信していますか? さらに、IP アドレスから作成できるリクエストの数には制限があります。その限界を超えるとどうなりますか?Google からのエラー メッセージを確認し、適切に処理する必要があります。サービスの料金を支払っている場合は、おそらく制限が少なくなります。

于 2013-07-11T19:27:34.047 に答える