ubicación ubicacion remotamente localizar google encontrar dispositivo desde desactivar como chrome celular activar android google-maps google-places-api

ubicacion - Desactive el botón de selección al seleccionar la ubicación de la ubicación anónima utilizando el selector de lugar API de Google en Android



desactivar ubicación (7)

  1. Asegúrese de haber habilitado esta API en console.developers.google.com
  2. También (este fue mi caso) asegúrese de que su clave de API sea correcta - copie el paquete desde el campo de aplicación de IDD de Gradle. La buena prueba será si deshabilitas las restricciones de la clave API.

Quiero guardar la información del formulario de usuario con el campo de ubicación. Para la ubicación, quiero abrir el mapa de Google con un clic en el botón y la ubicación que se seleccionará cuando el usuario haga clic en la ubicación sobre el mapa y en la ubicación de relleno posterior.

Encontré el selector de lugares como una solución relacionada, por lo que utilicé la API de Google del selector de lugares y puedo abrir el mapa de Google, cuando muevo la flecha sobre la ubicación preferida y hago clic en Seleccionar esta ubicación (aparece el color negro con las coordenadas que aparecen debajo) .

Se abre el cuadro de confirmación con 2 opciones:

1.) Cambiar ubicación
2.) Seleccionar (modo deshabilitado)

Quiero seleccionar la ubicación anónima y volver a la actividad principal.

A continuación se muestra mi código:

private TextView get_place; int PLACE_PICKER_REQUEST = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); get_place = (TextView)findViewById(R.id.textView1); get_place.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder(); Intent intent; try { intent = builder.build(getApplicationContext()); startActivityForResult(intent,PLACE_PICKER_REQUEST ); } catch (GooglePlayServicesRepairableException e) { e.printStackTrace(); } catch (GooglePlayServicesNotAvailableException e) { e.printStackTrace(); } } }); } protected void onActivityResult( int requestCode , int resultCode , Intent data ){ if( requestCode == PLACE_PICKER_REQUEST) { if(resultCode == RESULT_OK) { Place place = PlacePicker.getPlace(data,this); Double latitude = place.getLatLng().latitude; Double longitude = place.getLatLng().longitude; String address = String.valueOf(latitude)+String.valueOf(longitude); get_place.setText(address); } } }

Las coordenadas de la ubicación actual no son visibles

.

Después de hacer clic en SELECCIONAR ESTE BOTÓN, se abre la ventana de abajo con el botón Seleccionar deshabilitado

.

Por favor, hágamelo saber, si hay alguna otra solución mejor. Código de respuesta será de mucha ayuda o enlace de referencia.


Deberias usar esto

<application> ... <meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR_API_KEY"/> </application>

en lugar de

<application> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="YOUR_API_KEY"/> <application>


Enfrenté el mismo problema y se resolvió cuando habilité la API de Google Places para la API de Android en mi proyecto de Google Cloud.



Todas las respuestas son viejas o irrelevantes. Probé 2 soluciones, que funcionaron para mí.

Solución 1

compile ''com.google.android.gms:play-services:9.4.0'' compile ''com.google.android.gms:play-services-base:9.4.0'' compile ''com.google.android.gms:play-services-appindexing:9.4.0'' compile ''com.google.android.gms:play-services-contextmanager:9.4.0'' compile ''com.google.android.gms:play-services-places:9.4.0'' compile ''com.google.android.gms:play-services-nearby:9.4.0'' compile ''com.google.android.gms:play-services-maps:9.4.0'' compile ''com.google.android.gms:play-services-ads:9.4.0'' compile ''com.google.android.gms:play-services-auth:9.4.0'' compile ''com.google.android.gms:play-services-gcm:9.4.0'' compile ''com.google.android.gms:play-services-analytics:9.4.0'' compile ''com.google.android.gms:play-services-location:9.4.0''

Referencia: googledocumentation

Solucion 2

  1. Consola de API de Google
  2. Identifique la clave de Android que está utilizando el proyecto
  3. Seleccione el sistema operativo Android, ingrese el nombre del paquete y SHA1
  4. Compruebe el google-services.json (de Firebase), debería estar usando esta clave.

Reconstruir, y todo funciona bien.


Tuve el mismo problema (ver comentarios en la publicación original) y resultó ser causado por una falta de coincidencia en la entrada de la clave API en el archivo AndroidManifest.xml .

Estoy usando Xamarin.Android pero el principio debería ser el mismo en Java, pero su millaje puede variar.

Básicamente, mi aplicación estaba usando la API de Google Maps y en mi manifiesto tenía la clave de API especificada como com.google.android.maps.v2.API_KEY , y todo funcionó bien. Cuando implementé el Selector de lugares, necesitaba cambiar el nombre de la clave a com.google.android.geo.API_KEY (¡NO tuve que cambiar la clave en sí!). Hice esto para la configuración de depuración, pero NO para la configuración de lanzamiento, que aún utilizaba el nombre de clave de Maps. Por lo tanto, la creación de un paquete liberable resultó en un manifiesto que satisfaría la API de Maps pero no los sitios.

Cambiar la configuración de la versión ha resuelto mi problema.


protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode==PLACE_PICKER_REQUEST|requestCode==REQUEST_CHECK_SETTING){ if(resultCode==RESULT_OK) { mlocationUpdate = true; // startLocationUpdate(); Place place = PlacePicker.getPlace(data, this); String str_txt = place.getName().toString(); str_txt += "/n" + place.getAddress().toString(); placeMarkerOnMap(place.getLatLng()); mStringBuilder = new StringBuilder(); String mplacename = String.format("%s", place.getName()); mlatitude = (place.getLatLng().latitude); mlongitude = (place.getLatLng().longitude); String maddress = String.format("%s", place.getAddress()); mStringBuilder.append("NAME :"); mStringBuilder.append(mplacename); mStringBuilder.append("/n"); Log.e("SRC-->",mplacename); Log.e("THIS-->",maddress); mStringBuilder.append("ADDRESS :"); mStringBuilder.append(maddress); /*mStringBuilder.append("/n");*/ if (isPickUp==true){ edt_pickup.setText(mStringBuilder); isPickUp=false; } else if (isDrop==true){ edt_drop.setText(mStringBuilder); mlatitudeEnd = (place.getLatLng().latitude); mlongitudeEND = (place.getLatLng().longitude); isDrop=false; } }} super.onActivityResult(requestCode, resultCode, data); }