Я пытаюсь создать приложение с API карт google, я создал его с помощью Google Maps и установил свое фактическое местоположение. Я создал одну метку, и я хочу предупредить меня, если я приблизился на определенном расстоянии от этой отметки.Обнаружить, если я приблизился к отметке в андроидных картах
Я искал API геолокации, но я не понимаю, как этот API работает и как реализовать этот код для моего использования.
Мой MainActivity класс:
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
private LocationManager locationManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// Add a marker in Sydney and move the camera
LatLng latlon = new LatLng(-22.9274767,-47.0775973);
mMap.addMarker(new MarkerOptions().position(latlon).title("Title").snippet("subtitle"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(latlon));
mMap.setMyLocationEnabled(true);
// Check if we were successful in obtaining the map.
if (mMap != null) {
mMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
@Override
public void onMyLocationChange(Location arg0) {
// TODO Auto-generated method stub
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(arg0.getLatitude(), arg0.getLongitude()), 18);
mMap.animateCamera(cameraUpdate);
//mMap.addMarker(new MarkerOptions().position(new LatLng(arg0.getLatitude(), arg0.getLongitude())).title("It's Me!"));
}
});
}
}
Играть с этим материалом [получить уведомление, когда Расположение Изменения] (https://sites.google.com/site/androidhowto/how- к-1/получить-уведомление, когда-местоположение-изменений). Надеюсь, вы найдете то, что хотите. – activesince93
Должно быть легко (с учетом координат обеих точек) рассчитать расстояние между ними в Km. В чем проблема? – Nanoc
Я не вижу в вашем коде какой-либо из geofencing api, вы попробовали примеры, показанные здесь: http://developer.android.com/training/location/geofencing.html? –