android - ubicación - recuperar historial de ubicaciones borrado
Obtener la ubicación seleccionada de la actividad de Google Maps (7)
No existe tal posibilidad: solo puede abrir Mapas con la posición especificada http://developer.android.com/guide/appendix/g-app-intents.html .
En su lugar, debe crear su propia actividad con MapView utilizando la biblioteca externa de Maps .
Intento devolver la ubicación seleccionada por el usuario en la aplicación Android de Google Maps, pero parece que no puedo encontrar información sobre cómo lograr esta tarea.
Creé una intención para abrir la actividad de GMaps, pero el usuario no puede seleccionar un punto en el mapa ni la actividad devuelve un punto a mi aplicación cuando se cierra.
Estoy usando startActiviyForResult
, ya que estoy esperando un resultado de la actividad.
Hola, debes seguir este enlace. Simplemente hazlo, espero que obtengas tu solución. http://mobiforge.com/developing/story/using-google-maps-android
Para mapas API V2, puede usar enMapClickListener.
map.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng point) {
Toast.makeText(getApplicationContext(), point.toString(), Toast.LENGTH_SHORT).show();
}
});
Para más detalles: https://developers.google.com/maps/documentation/android/interactivity
Supongo que estás buscando marcadores arrastrando.
mMap.setMyLocationEnabled(true);
mLocation = mMap.getMyLocation();
mMap.addMarker(new MarkerOptions().position(new LatLng(mLocation.getLatitude(), mLocation.getLongitude())).draggable(true));
mMap.setOnMarkerDragListener(new OnMarkerDragListener() {
@Override
public void onMarkerDrag(Marker marker) {
}
@Override
public void onMarkerDragEnd(Marker marker) {
LatLng newLocation = marker.getPosition();
mLocation.setLatitude(newLocation.latitude);
mLocation.setLongitude(newLocation.longitude);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(mLocation.getLatitude(), mLocation.getLongitude()), 15.0f));
}
@Override
public void onMarkerDragStart(Marker marker) {}
});
luego regrese su nueva ubicación.
Simplemente podría usar PlacePicker en lugar de implementar su propia MapActivity. Sin embargo, deberá agregar la referencia de biblioteca de servicios de Google Play en su proyecto.
Simplemente inicie Activity ForResult con la intención provista por PlacePicker.IntentBuilder
int PLACE_PICKER_REQUEST = 1;
PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
Context context = getApplicationContext();
startActivityForResult(builder.build(context), PLACE_PICKER_REQUEST);
Y luego recibe los resultados en onActivityResult
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PLACE_PICKER_REQUEST) {
if (resultCode == RESULT_OK) {
Place place = PlacePicker.getPlace(data, this);
String toastMsg = String.format("Place: %s", place.getName());
Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show();
}
}
}
Consulte https://developers.google.com/places/android/placepicker para obtener más detalles.
Es demasiado tarde para responder a su pregunta, pero espero que esto ayude a que alguien tenga los mismos requisitos.
usa la API de Google Solo necesita crear su propia MapActivity con MapView. Aquí hay un gran tutorial sobre la API de Google, que incluye la ubicación de recepción con los dedos. Espero que esto ayude
Puedes hacerlo fácilmente con Mapbox Android SDK . Tienen un buen tutorial:
Cómo crear un selector de ubicación para su aplicación! | Mapbox
Los principales componentes necesarios son:
- Android ImageView para el pin de colocación.
- Mapbox Android SDK Marker API.
- Mapbox Android Services para hacer la geocodificación.