Acceder

Ver la Versión Completa : Problema con apiKey


pedrorc22
16/08/13, 18:05:07
Hola escribo porque ya no se que mas hacer:

Estoy desarrollando una aplicacion y requiero el uso de mapas. He utilizado para generar el apiKey lo de Google apis v2 en la que le paso el certificado SHA de mi app y me genera una api la cual esta en el valor apiKey del layout de dicho map. El codigo que me da el error es el siguiente:

Couldn´t get connectoion factory client.

Y lo que ocurre es que me aparece el mapa en blanco con recuadros he buscado por internet y dicen que es por el apiKey pero ya he generado varios y todos me hacen lo mismo. Espero que me puedan ayudar les dejo aqui mi codigo:


En el layout

<?xml version="1.0" encoding="utf-8"?>

<com.google.android.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:apiKey="---------------------------------------------"
android:clickable="true"/>

En el codigo:

package com.prc.images1country;

import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;

public class Listado extends MapActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(

WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_listado);
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);

}

@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}

}

kriogeN
16/08/13, 23:41:43
Ese código es de API V1, el de API V2 está en el paquete com.google.android.gms, y es bastante distinto al de la V1. Para empezar ya no existen los MapActivity. Puedes usar un MapView directamente en cualquier tipo de Activity.

Aunque tienes que programar los eventos onCreate, onResume, onPause y onDestroy, haciendo que además de llamar a la superclase de la Activity también llame a los del MapView. También puedes hacerlo sobre un Fragment en lugar de sobre una Activity, y dispone una clase MapFragment que ya lo lleva todo incorporado, pero sólo sirve para ver el mapa nada más, no puedes añadir ningún control nuevo (o SupportMapFragment para versiones anteriores a HoneyComb). Obviamente dentro de ese Fragment, puedes tener otros Fragments visibles que tengan otros controles.

pedrorc22
17/08/13, 15:56:33
Vale vale ya he hecho todo lo que comentaste el problema ahora lo tengo en que me aparece el siguiente mensaje:

this app won't run without google play services which are missing from your phone y un boton que dice

Get google play services pero cuando lo pulso se sale la aplicacion..si me pudieras exar un ultimo empujoncillo :D
manifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.prc.images1country"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<permission
android:name="com.prc.images1country.maps.googlev2.permission.MA PS_RECEIVE"
android:protectionLevel="signature"/>

<uses-permission android:name="com.prc.images1country.maps.googlev2.permission.MA PS_RECEIVE"/>

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_G SERVICES"/>
<uses-feature android:glEsVersion="0x00020000"
android:required="true"/>
<application

android:allowBackup="true"
android:icon="@drawable/iconf"
android:label="@string/app_name"
android:theme="@style/AppBaseTheme" >

<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyDHHVQSqZr0ueoCO-N"/>
<uses-library android:name="com.google.android.maps" />
<activity
android:name="com.prc.images1country.Splash"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Principal"
android:screenOrientation="portrait"></activity>
<activity android:name=".Listado"
android:screenOrientation="portrait"></activity>
<activity android:name=".MainActivity"
android:screenOrientation="portrait"></activity>
<activity android:name=".fin"
android:screenOrientation="portrait"></activity>

</application>


Activity:

public class Listado extends android.support.v4.app.FragmentActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(

WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_listado);

}



}


Layout:


<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"/>

kriogeN
17/08/13, 16:05:30
No tienes instalado Google Play Services en tu móvil.

¿No estarás usando el emulador, no? Y en caso de usarlo ¿Lo estás haciendo con una versión con 4.2.2 y con el API de Google?

pedrorc22
17/08/13, 16:11:01
Estoy usando el emulador con una version 4.2.2. y tengo instalado el google play services y el api de google que lo he generado hace nada con Google Maps Android API v2

kriogeN
17/08/13, 17:12:55
Pues debería funcionarte. Pruebalo en un terminal.