相关疑难解决方法(0)

Android:反向地理编码 - getFromLocation

我想基于long/lat得到一个地址.似乎这样的事情应该有效吗?

Geocoder myLocation = Geocoder(Locale.getDefault());
    List myList = myLocation.getFromLocation(latPoint,lngPoint,1);
Run Code Online (Sandbox Code Playgroud)

问题是我不断得到:方法Geocoder(Locale)未定义类型savemaplocation

任何帮助都会有所帮助.谢谢.


谢谢,我尝试了上下文,首先是locale,然后失败并且正在查看其他一些构造函数(我曾经看过一个只提到locale).而不管,

它没有用,因为我仍然得到:方法Geocoder(Context,Locale)未定义类型savemaplocation

我有:import android.location.Geocoder;

android reverse-geocoding street-address

50
推荐指数
5
解决办法
12万
查看次数

调用geoCoder.getFromLocation()时服务不可用

我知道有时google后端服务可能无法使用.

因此,解决方案可能是循环,直到我获得数据.

private class getLocationDetails extends AsyncTask<String, Void, String> {

    @Override
    protected String doInBackground(String... params) {

        Log.d("looping", "" + count + "");
        count++;
        double lat = Double.parseDouble(params[0]);
        double lng = Double.parseDouble(params[1]);
        List<Address> addresses = null;
        try {

            Geocoder gCoder = new Geocoder(ImageAndLocationActivity.this,
                    Locale.getDefault());
            addresses = gCoder.getFromLocation(lat, lng, 1);
            Address addr = addresses.get(0);
            user_country = addr.getCountryName();
            user_city = addr.getLocality();
            user_district = addr.getSubAdminArea();

            if (user_city == null) {

                user_city = user_district;
            }
        } catch (Exception e) {

            Log.e("Exception in getLocationDetails - ", …
Run Code Online (Sandbox Code Playgroud)

android google-geocoder

28
推荐指数
3
解决办法
5万
查看次数

使用地理编码器和Android Google Maps API v2获取经度和纬度

我正在使用Google Maps API v2 for android并且正常运行.但是,我正在尝试使用地理编码器来获取地址的经度和纬度,但没有成功.

它改变了从v2做到这一点的方式?

我正在使用传统的代码

Geocoder gc = new Geocoder(context);
//...
  List<Address> list = gc.getFromLocationName("1600 Amphitheatre Parkway, Mountain View, CA", 1);

  Address address = list.get(0);

  double lat = address.getLatitude();
  double lng = address.getLongitude();
//...
Run Code Online (Sandbox Code Playgroud)

始终返回强制关闭,Log不解决任何问题.当使用try/catch块时,打开地图但总是使用相同的位置使用Internet权限,我已经包含在项目中COARSE_LOCATION我已经使用了位于此处和其他站点的各种代码,但没有成功.

先感谢您.

maps android google-maps android-maps-v2

23
推荐指数
2
解决办法
6万
查看次数

geocoder.getFromLocationName仅返回null

在过去的两天里,当IllegalArgumentException我试图从地址中获取坐标时,我在Android代码中收到错误,甚至反转,从经度和纬度获取地址时,我会忘记这一点.这是代码,但我看不到错误.它是一个标准的代码段,可以在Google搜索中轻松找到.

public GeoPoint determineLatLngFromAddress(Context appContext, String strAddress) {
    Geocoder geocoder = new Geocoder(appContext, Locale.getDefault());
    GeoPoint g = null; 
    try {
        System.out.println("str addres: " + strAddress);
        List<Address> addresses = geocoder.getFromLocationName(strAddress, 5);
        if (addresses.size() > 0) {
            g = new GeoPoint(
               (int) (addresses.get(0).getLatitude() * 1E6),
               (int) (addresses.get(0).getLongitude() * 1E6)
            );
        }
    } catch (Exception e) {
        throw new IllegalArgumentException("locationName == null");
    }
    return g;
 }
Run Code Online (Sandbox Code Playgroud)

这些是manifest.xml文件的权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
Run Code Online (Sandbox Code Playgroud)

我也确实声明了Google API密钥: …

android illegalargumentexception google-geocoder

6
推荐指数
2
解决办法
2万
查看次数