【问题标题】:Getting a place name in google map in android在android的谷歌地图中获取地名
【发布时间】:2014-02-28 13:06:11
【问题描述】:

我有一个要求,即每当我拖动/浏览 Google 地图并在其上放置一个标记时,它应该在 AutocompleteTextview 中显示该地点的名称(放置标记的位置)。我已经检查了 Places API 和 Geocoder 类,但我最不了解它。我需要执行与 life360 应用程序中的 Places 选项卡相同的任务。我怎样才能实现它?

【问题讨论】:

    标签: android google-maps google-places-api


    【解决方案1】:

    试试这个可能对你有帮助...

    当你标记一个地方时,尝试用标记捕获纬度和经度并使用此代码获取位置名称

    public String getAddress(Context context, double lat, double lng) {
        Geocoder geocoder = new Geocoder(context, Locale.getDefault());
        try {
            List<Address> addresses = geocoder.getFromLocation(lat, lng, 1);
            Address obj = addresses.get(0);
    
            String add = obj.getAddressLine(0);
            add = add + "\n" + obj.getCountryName();
            add = add + "\n" + obj.getCountryCode();
            add = add + "\n" + obj.getAdminArea();
            add = add + "\n" + obj.getPostalCode();
            add = add + "\n" + obj.getSubAdminArea();
            add = add + "\n" + obj.getLocality();
            add = add + "\n" + obj.getSubThoroughfare();
    
            return add;
        } catch (IOException e) {
            e.printStackTrace();
            Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
            return null;
        }
    }
    

    【讨论】:

    • 是的,明白了。但是有没有办法可以在 AutocompleteTextview 中捕获地名,它已经用于预测地名,即区域名称?
    • 在某些设备中,GeoCoder 不存在...必须检查它是否已启用。
    【解决方案2】:

    试试这个我希望它的工作。

     public void getLocation(double lat, double lng) {
        Geocoder geocoder = new Geocoder(MapsActivity.this, Locale.getDefault());       
    
        try {
            List<Address> addresses = geocoder.getFromLocation(lat, lng, 1);
            Address obj = addresses.get(0);
            String add = obj.getAddressLine(0);           
    
            Log.e("IGA", "Address" + add);
    
    
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-07
      • 2020-04-28
      • 1970-01-01
      • 2014-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多