Я пытаюсь создать приложение, которое будет получать местоположение пользователей через GPS, отображать местоположение пользователей на картах Google, а затем обновляться через определенное количество времени / движения.
В настоящее время у меня есть приложение, которое получает местоположение пользователя через gps и обновляет себя каждые 10 метров / 10000 миллисекунд, но в настоящее время все, что он делает, это отображает координаты.Я настроил его для подключения к картам Google, но в данный момент он просто устанавливает карту на некоторые координаты, которые я сам ввел вручную.
Как получить, чтобы карта отображала местоположение на основепо координатам, полученным через gps?
Любая помощь будет принята с благодарностью, я очень новичок во всем этом!
РЕДАКТИРОВАТЬ: вот мой код пока!
package com.android.basicmap;
import com.google.android.maps.MapActivity;
import android.os.Bundle;
import com.google.android.maps.MapView;
import com.google.android.maps.MapController;
import com.google.android.maps.GeoPoint;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
public class BasicMapActivity extends MapActivity {
private MapView mapView;
private MapController mapController;
private LocationManager locationManager;
private LocationListener locationListener;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = new GPSLocationListener();
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
0,
0,
locationListener);
mapView = (MapView) findViewById(R.id.mapView);
mapView.setStreetView(true);
mapView.setBuiltInZoomControls(true);
mapController = mapView.getController();
mapController.setZoom(16);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
private class GPSLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location location) {
if (location != null) {
GeoPoint point = new GeoPoint(
(int) (location.getLatitude() * 1E6),
(int) (location.getLongitude() * 1E6));
Toast.makeText(getBaseContext(),
"Latitude: " + location.getLatitude() +
" Longitude: " + location.getLongitude(),
Toast.LENGTH_SHORT).show();
mapController.animateTo(point);
mapController.setZoom(16);
mapView.invalidate();
}
}
}
}