使用谷歌api建议在android中绘制地图

时间:2014-02-08 12:36:18

标签: android google-places-api

我正在尝试在Android谷歌地图v2上绘制一个位置。与在手机中的谷歌地图实现一样,当用户开始输入时,我使用places api获取位置建议并显示与自动完成建议相同的位置建议。 This是我提到的教程,我用来获取教程中给出的建议的地方api url是:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Newyor&types=geocode&language=en&sensor=true&key=mykey

来自地方api的典型回应是:

{
"predictions" : [
  {
     "description" : "Pune, Maharashtra, India",
     "id" : "b53b6db33aaf3aa06dc661e9b2631735f3d484f1",
     "matched_substrings" : [
        {
           "length" : 3,
           "offset" : 0
        }
     ],
     "reference" : "CjQwAAAAMoxQRyAwsRv2ORCTdAedR1nQYCErx3mhuiabdfgKaFVn9ptmcBjr6F5zgNpLoF41EhBCLLKBfB7Bm0Vkm6EB7jxKGhSKJt0vahFMJ2GfYLk2uMcBC0Vl5g",
     "terms" : [
        {
           "offset" : 0,
           "value" : "Pune"
        },
        {
           "offset" : 6,
           "value" : "Maharashtra"
        },
        {
           "offset" : 19,
           "value" : "India"
        }
     ],
     "types" : [ "locality", "political", "geocode" ]
  },
  {
     "description" : "Punjab, Pakistan",
     "id" : "97a12ea9bc0c551167da68d14e152d70e68150df",
     "matched_substrings" : [
        {
           "length" : 3,
           "offset" : 0
        }
     ],
     "reference" : "CjQoAAAA0_J5uM7i32DiX4jRXiY8jMp54QBdU7N2vE5XE4IdFbesDW_qdDKQsQ8No7zdjRjFEhC4MJu4F86xTjBYLR9VOEBFGhSELemilA35vFobxi2Z45JvFXM0eQ",
     "terms" : [
        {
           "offset" : 0,
           "value" : "Punjab"
        },
        {
           "offset" : 8,
           "value" : "Pakistan"
        }
     ],
     "types" : [ "administrative_area_level_1", "political", "geocode" ]
  },

上面的响应中是否有任何参数我可以使用它来绘制地图或者我是否需要进行另一个api调用才能获得我从上面“描述中选择的地方的纬度和经度“关键是json的回应?如果我需要再次进行api调用,我需要从上面的json响应中传递什么参数。

或者首先,是否有一个api已经可以从中得到lat,长期还有地方建议?

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

  

首先,是否有api已经可以从中获得   lat,长期还有地方建议吗?

是的,为了获取(来自地址的LatLong):

http://maps.googleapis.com/maps/api/geocode/json?address=NewYork&sensor=true

&安培;获得(来自LatLong的地址):

http://maps.googleapis.com/maps/api/geocode/json?latlng=40.9152555,-73.700272&sensor=true