2014-09-22 47 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

    相关问题