2014-09-22 138 views
1

我正在嘗試使用Google API時區,首先您必須對地址進行地址解析以獲取時區的緯度/經度。 我將如何去從textarea中的值做到這一點? 2個步驟,如何通過Google API獲取地址值的時區?

  1. 轉換textarea的值進行地址解析示例

https://maps.googleapis.com/maps/api/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=API_KEY

  • 然後使用此緯度/經度來獲得時區例如
  • https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=1331161200&key=API_KEY

    <textarea id="phyaddr"> 
    123 Address 
    Suite 1200 
    Houston TX 77008  
    USA 
    County:Harris 
    </textarea> 
    
    +2

    是一個問題嗎?看起來你只是描述瞭如何做到這一點......如果你在這裏尋找某人爲你編碼,他們不會。自己編寫代碼,然後將它粘貼到這裏與您遇到問題的特定部分 – 2014-09-22 17:06:15

    +0

    我需要知道如何使用加號和逗號將textarea值傳遞給url表單,然後從地理編碼輸出中獲取lat/long。 – triplethreat77 2014-09-22 17:10:08

    +0

    增加了一個新答案,我認爲你對Google提供的不同API感到困惑 – 2014-09-22 17:45:57

    回答

    0

    的谷歌的WebService API是爲服務器端地理編碼,該URL必須是從服務器發送的,這就是爲什麼它包含一個鍵,你不會把那個鍵在客戶端的任何地方面向代碼。

    還有另一個名爲Google Maps Javascript API V3的API,這是您用來提出請求客戶端的一個API。還有的做,該網站上有Geocode Examples

    function codeAddress() { 
        var address = document.getElementById('address').value; 
        geocoder.geocode({ 'address': address}, function(results, status) { 
        if (status == google.maps.GeocoderStatus.OK) { 
         map.setCenter(results[0].geometry.location); 
         var marker = new google.maps.Marker({ 
          map: map, 
          position: results[0].geometry.location 
         }); 
        } else { 
         alert('Geocode was not successful for the following reason: ' + status); 
        } 
        }); 
    } 
    

    看到的第一線getElementById()那就是你會把你的元素,這是你原來的問題的ID。

    你知道這是用來獲取用戶輸入的地址的時區嗎?對,你可以讓他們在輸入地址時選擇一個時區。

    如果單純只是想在用戶的本地時區,以及那麼這是非常容易得多,只是這樣的:

    // this is offset from UTC time 
    var offset = new Date().getTimezoneOffset(); 
    
    +0

    我意識到這一點。我正在處理已經存在的數據。我如何從Google TimeZone API輸出獲取timeZoneName? – triplethreat77 2014-09-22 18:38:03

    +0

    看起來您使用用戶輸入的地址,獲取經緯度並將其發送到服務器,從那裏使用Web服務命中您在帖子中顯示的端點。你知道了,只要確保你打電話給服務器的時區服務 – 2014-09-22 19:11:42

    +0

    關於最後一位 - 只返回*當前*時區偏移量,這可能會因夏時制時間而改變。Google時區API會返回完整時區標識符,例如「America/Los_Angeles」。請參閱[時區標記wiki](http://stackoverflow.com/tags/timezone/info)中的「時區!=偏移」。 – 2014-09-22 22:51:22

    相關問題