La API de Google Maps para Android no funciona con debug.keystore
Estoy intentando crear una aplicación MapView siguiendo el tutorial del sitio web de Android aquí . Tengo todo configurado y el mapa muestra pero con azulejos vacíos!
La clave de API que estoy utilizando se genera a partir de la depuración.keystore ubicada en "C: \ Users \ Pete \ .android" y todos los permisos correctos se configuran en el manifiesto. La biblioteca de mapas también está en el manifiesto pero todavía no funciona. He intentado crear una nueva almacén de la llave de la depuración y la he puesto en la misma carpeta (obviamente también generar una nueva llave de la API) y todavía no suerte.
- Se muestra Google Maps Android sólo pantalla en blanco
- LocationClient no conectado en el método "onConnected"
- Obtener latitud y longitud utilizando código postal
- Cómo enfocar el marcador de Google por marcador de título?
- Route-Me para Android
(30/05/2011) Editar sección:
Manifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.stringerapps.testing.gps" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Home" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- import the library com.google.android.maps!!! --> <uses-library android:name="com.google.android.maps" /> <!-- permissions --> <uses-permission android:name="android.permission.INTERNET"> </uses-permission> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"> </uses-permission> </application> </manifest>
Layout.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mainlayout" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <com.google.android.maps.MapView android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" android:apiKey="api-key-here-omitted"/> </RelativeLayout>
Home.xml
package com.stringerapps.testing.gps; import java.util.List; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.widget.LinearLayout; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapActivity; import com.google.android.maps.MapView; import com.google.android.maps.Overlay; import com.google.android.maps.OverlayItem; public class Home extends MapActivity { LinearLayout linearLayout; MapView mapView; List<Overlay> mapOverlays; Drawable drawable; MyItemizedOverlay itemizedOverlay; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout); mapView = (MapView) findViewById(R.id.mapview); mapView.setBuiltInZoomControls(true); mapOverlays = mapView.getOverlays(); drawable = this.getResources().getDrawable(R.drawable.androidmarker); itemizedOverlay = new MyItemizedOverlay(drawable); GeoPoint point = new GeoPoint(19240000, -99120000); OverlayItem overlayitem = new OverlayItem(point, "", ""); GeoPoint point2 = new GeoPoint(35410000, 139460000); OverlayItem overlayitem2 = new OverlayItem(point2, "", ""); itemizedOverlay.addOverlay(overlayitem); itemizedOverlay.addOverlay(overlayitem2); mapOverlays.add(itemizedOverlay); } @Override protected boolean isRouteDisplayed() { return false; } }
- El proyecto de la biblioteca de Android no se registra en Google Map
- ¿Es el Map Api Key y Google Places Api iguales?
- Buscar una ubicación en google maps sin dar sus geo-coordenadas
- Puedo cambiar mi ubicación en los mapas de Android
- Cómo obtener el siguiente punto de inflexión desde el mapa de google - (Android)
- Java.lang.IllegalArgumentException: Caracteres ilegales en la consulta en índice 59
- Servicios de Google Play que no funcionan en el emulador de Android API Nivel 11
- No se pudo obtener el cliente de la fábrica de conexión - luchando con Google Maps
Su archivo de manifiesto necesita algunas reorganizaciones:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.stringerapps.testing.gps" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" /> <!-- permissions --> <uses-permission android:name="android.permission.INTERNET"> </uses-permission> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"> </uses-permission> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Home" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- import the library com.google.android.maps!!! --> <uses-library android:name="com.google.android.maps" /> </application> </manifest>
Prueba eso y buscaré en tus otros archivos para ver si puedo encontrar algo más.
Las etiquetas <uses-permission>
deben ir fuera de la etiqueta <application>
.
Ver: Mapa de Google que muestra sólo los cuadros en blanco android
Lo importante aquí es siempre utilizar la huella adecuada (keystore para la huella digital). Tuve el mismo problema antes :). Si está depurando su aplicación, utilice la huella dactilar de depuración como se describe aquí y estará a salvo. Entonces si usted decidirá publicar la aplicación entonces usted creará la huella digital propia para el uso público.