2016-10-30 3 views
-1
  1. имя класса Myclass и реализовать методы, такие как -> LocationListener, GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener отменяют methds

Google слиты службы определения местоположения андроида

private static int UPDATE_INTERVAL = 10000; // 10 sec 
 
    private static int FATEST_INTERVAL = 5000; // 5 sec 
 
    private static int DISPLACEMENT = 10; // 10 meters 
 
    LocationRequest mLocationRequest; 
 
    GoogleApiClient mGoogleApiClient; 
 
    Location mCurrentLocation; 
 
    String mLastUpdateTime; 
 
    Context mContext; 
 

 

 

 
    @Override 
 
    public void onConnected(Bundle bundle) { 
 

 
     mGoogleApiClient = new GoogleApiClient.Builder(mContext) 
 
       .addConnectionCallbacks(this) 
 
       .addOnConnectionFailedListener(this) 
 
       .addApi(LocationServices.API).build(); 
 

 
     createLocationRequest(); 
 
     PendingResult<Status> pendingResult = LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, (LocationListener) mContext); 
 

 
    } 
 

 

 
    private void createLocationRequest() { 
 

 
     mLocationRequest = new LocationRequest(); 
 
     mLocationRequest.setInterval(UPDATE_INTERVAL); 
 
     mLocationRequest.setFastestInterval(FATEST_INTERVAL); 
 
     // mLocationRequest.setNumUpdates(2); 
 
     // mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 
 
     mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 
 

 
    } 
 

 
    @Ov 
 
    } 
 

 
    @Override 
 
    public void onConnectionFailed(ConnectionResult connectionResult) { 
 
     stopLocationUpdates(); 
 
    } 
 

 
    @Override 
 
    public void onLocationChanged(Location location) { 
 
     mCurrentLocation = location; 
 
     DateFormat.getTimeInstance().format(new Date()); 
 
     updateUI(); 
 

 
    } 
 

 
    public String updateUI() { 
 

 
     if (null != mCurrentLocation) { 
 
      Double lat = mCurrentLocation.getLatitude(); 
 
      Double lng = mCurrentLocation.getLongitude(); 
 

 
      Log.d("thhhhhhhhhhhhhhhhhhhh",lat.toString() +lng.toString()); 
 
      getCurrentlocation(mCurrentLocation); 
 
      //setCurrentLocation(String.valueOf(lat + "," + lng)); 
 
tLocation(mCurrentLocation); 
 
      // arrayList.add(mCurrentLocation); 
 

 
      return lat.toString(); 
 
     } 
 

 
     return null; 
 
    } 
 

 
    private void getCurrentlocation(Location mCurrentLocation) { 
 

 
    } 
 

 
    public void setmCurrentLocation(Location mCurrentLocation) { 
 
     this.mCurrentLocation = mCurrentLocation; 
 
    } 
 

 
    protected void stopLocationUpdates() { 
 
     LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, (com.google.android.gms.location.LocationListener) this); 
 
    }

Я хочу разработать класс mylocation и метод getlocation, поэтому он возвращает лат-кредит. Как получить доступ к этому в любом классе и получить lat lon ??

+0

сделать сервис и использовать его, чтобы получить местоположение в любом классе, который вы хотите. но попробуйте сделать что-то, а затем опубликуйте свои сомнения. это не то, как вы задаете вопросы в stackoveflow. –

+0

Хорошо, я публикую свой код, но он не работает. –

ответ

0

может вам нужно создать Servics, которые реализуют Google locationAPI, ситуация больше .. у слушателя

В этом методе коррекции onLocationChanged вы получите LAT-долго, теперь вы можете отправить, что прямо на ваш сервер или другой класс

Надеюсь, мой ответ поможет вам.

Если после этого не спрашивайте меня снова. спасибо.

+0

Вы имеете в виду, что мне нужно создать службу –

+0

, это возможно двумя способами с использованием фрагмента активности и службы –

+0

Если мне нужно отобразить карту с текущим местоположением, а также отправить lat long на сервер, так что мне нужно создать сервис (для отправки данные на сервер), а также реализовать API с плавным расположением в фрагменте карты, чтобы показать текущее местоположение с обновлениями? –

Смежные вопросы