【问题标题】:google places location not working谷歌地点位置不工作
【发布时间】:2015-02-06 21:50:37
【问题描述】:

早上好,我想问一下是否有人和我有同样的问题。 我正在制作一个谷歌地图应用程序,有一天突然不再收集我的位置,我用早期版本测试过这个工作正常,如果我改变了一些东西并且他们没有给我我的位置,我也在其他设备上测试过,什么也没有,它从一天到另一天停止工作。我想知道这是否是由于谷歌帐户开发者控制台或 api 密钥可能过期或其他原因

谢谢。

编辑:

public class BuscarActivity extends ListActivity {

private GoogleMap mMapa;    
private LocationManager locationManager;
private Location location;  

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.buscar_activity);       
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

    mMapa = ((MapFragment) getFragmentManager().findFragmentById(R.id.mapaBuscar))
            .getMap();          

    mMapa.setMyLocationEnabled(true);
    locationManager = new LocationManager(this);

    getLocalizacion();

    mMapa.setOnCameraChangeListener(new OnCameraChangeListener() {
        //con el objeto position puedo recuperar todos los datos necesarios
        public void onCameraChange(CameraPosition position) {               
            getLocation();   
        }
    });
}       


private void getLocalizacion() {            
    //I'm used this firstly
    //location = mMapa.getMyLocation(); 
    //but now I'm using this although anyone works now
    location = locationManager.getLocation();                               
}


public class LocationManager implements ConnectionCallbacks, OnConnectionFailedListener {   
protected GoogleApiClient mGoogleApiClient; 
public static Location mLastLocation;
private Context context;

public LocationManager(Context c) {     
    this.context = c;
    buildGoogleApiClient();
    onStart();
}


protected synchronized void buildGoogleApiClient() {
    mGoogleApiClient = new GoogleApiClient.Builder(context)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .addApi(LocationServices.API).build();
}       


@Override
public void onConnected(Bundle connectionHint) {
    mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);    
}


public Location getLocation(){      
    return mLastLocation;
}


@Override
public void onConnectionFailed(ConnectionResult result) {
    Log.i("conection fail", "Connection failed: ConnectionResult.getErrorCode() = "
            + result.getErrorCode());
}

public void onDisconnected() {
    Log.i("disconnected", "Disconnected");
}


@Override
public void onConnectionSuspended(int cause) {
    Log.i("connection fail", "Connection suspended");
    mGoogleApiClient.connect();
}


public void onStart() {
    mGoogleApiClient.connect();
}


public void onStop() {      
    if (mGoogleApiClient.isConnected()) {
        mGoogleApiClient.disconnect();
    }
}
}

【问题讨论】:

    标签: android api location


    【解决方案1】:

    我认为密钥没有过期,请尝试发布您可能遗漏的代码

    【讨论】:

    • 尝试在您的getLocalizacion() 中使用location = locationManager.getLastKnownLocation(bestProvider);。我希望这会有所帮助
    • 什么都没有。我已经完成了 locationManager.getProviders(false) 并且它只返回了 2、1 称为被动和另一个 gps,在我的应用程序中我需要通过网络或 wifi 找到位置,我认为手机可能坏了,但我尝试了另一部手机和是一样的
    猜你喜欢
    • 2016-10-20
    • 2017-10-12
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-23
    • 2016-11-27
    • 1970-01-01
    • 2015-06-25
    相关资源
    最近更新 更多