shell脚本从谷歌获取地理定位

时间:2014-08-29 11:13:42

标签: google-maps shell google-maps-api-3

我知道有一种方法可以使用html5 + javascript来查询服务器当前位置的地理位置(lantitude和longtitude)。但是,我想从服务器通过shell脚本查询服务器的地理位置(lantitude和longtitude)信息。是否可以这样做?

3 个答案:

答案 0 :(得分:1)

你的问题不是很明确,关于你是想要邮政编码,还是lat / lon或者你想要的输出类型,或者想要提供什么样的输入,但这是一个例子:

curl "http://maps.googleapis.com/maps/api/geocode/json?address=Belsize%20+rd,+London&sensor=false&region=uk"

所以我要求Google向我提供伦敦地址的纬度/经度和邮政编码,并以JSON格式返回结果:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Belsize Road",
               "short_name" : "Belsize Rd",
               "types" : [ "route" ]
            },
            {
               "long_name" : "London",
               "short_name" : "London",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "London",
               "short_name" : "London",
               "types" : [ "postal_town" ]
            },
            {
               "long_name" : "Greater London",
               "short_name" : "Gt Lon",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "United Kingdom",
               "short_name" : "GB",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "NW6",
               "short_name" : "NW6",
               "types" : [ "postal_code_prefix", "postal_code" ]
            }
         ],
         "formatted_address" : "Belsize Road, London NW6, UK",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 51.54163579999999,
                  "lng" : -0.1803823
               },
               "southwest" : {
                  "lat" : 51.5375343,
                  "lng" : -0.1921912
               }
            },
            "location" : {
               "lat" : 51.5399076,
               "lng" : -0.1870606
            },
            "location_type" : "GEOMETRIC_CENTER",
            "viewport" : {
               "northeast" : {
                  "lat" : 51.54163579999999,
                  "lng" : -0.1803823
               },
               "southwest" : {
                  "lat" : 51.5375343,
                  "lng" : -0.1921912
               }
            }
         },
         "types" : [ "route" ]
      }
   ],
   "status" : "OK"
}

答案 1 :(得分:1)

输出可以是XML或JSON。

导出到XML

#!/bin/bash 
WHERE="athens,greece"
API_KEY=""
curl "http://maps.googleapis.com/maps/api/geocode/xml?address=$WHERE&key=$API_KEY"

导出到JSON

#!/bin/bash 
WHERE="athens,greece"
API_KEY=""
curl "http://maps.googleapis.com/maps/api/geocode/json?address=$WHERE&key=$API_KEY"

您可以参考The Google Geocoding API

答案 2 :(得分:0)

是的,你说得很好。

我们可以使用curl查询google以获取地理编码API以找出位置坐标。

Google的地理位置(lantitude和longtitude)允许通过任何方法进行远程查询,您可以使用curl或简单的php的file_get_contents。

但我们已经根据我们的请求解析了我们以JSON或XML收到的响应。