Bonjour,
Pour vous mettre dans le context, je suis en train de développer une application sous android et je dois utiliser google map.
Malheureusement, pour une raison qui m'echappe, je n'arrive pas a me connecter a serveur de google...
Voici mon manifeste :
J'ai mis toutes les permissions que j'ai vue sur les tuto sinsi que les API Key.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.prolians" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="20" /> <!-- Creating Permission to receive Google Maps --> <permission android:name="com.ylly.prolians.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <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" /> <!-- The following two permissions are not required to use Google Maps Android API v2, but are recommended. --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="com.tutos.android.gmapv2.permission.MAPS_RECEIVE" /> <!-- Required OpenGL ES 2.0. for Maps V2 --> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name="com.ylly.prolians.mainMenu.MainActivity" android:label="@string/app_name" android:screenOrientation="sensorLandscape" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> ... <!-- Goolge Maps API Key --> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyDtttNUYV9VE25gQxJf6pn7-IMAqsUt8nE" /> <!-- debug AIzaSyCjvtLbqoA0IKo8MUX3aLfekRH9DUCy_f8 --> <!-- release AIzaSyDtttNUYV9VE25gQxJf6pn7-IMAqsUt8nE --> </application> </manifest>
Sur ma console google, j'ai bien les clef d'enregistré comme ceci :
A savoir que je suis sur ce probleme depuis plusieurs jours et que je refais mes clefs tout les jours presque...
J'ai recuperé mes clef via les commande suivante :
keytool -list -v -keystore C:\Users\Altak\androidModule2\custom.keystore -alias prolians (pour la release)
keytool -list -v -keystore C:\...\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android (pour la debug) (d'ailleurs, j'ai aussi directement accés a SHA1 via eclipse)
et j'ai créé le fichier custom_keystore via eclipse (Android tools -> export signed application package )
Mon layout est celui ci :
et j'utilise la map via un fragment qui est comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="match_parent" android:background="#ffffff" android:orientation="horizontal" android:padding="25dp" > <fragment android:id="@+id/map" android:name="com.google.android.gms.maps.MapFragment" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
A savoir aussi que j'ai bien le fragment qui s'affiche dans ma vue mais que la map ne se load pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 package com.ylly.prolians.shop; import android.app.Activity; import android.location.Location; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Toast; import android.widget.LinearLayout; import com.example.prolians.R; import com.google.android.gms.location.LocationClient; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap.OnMarkerClickListener; import com.google.android.gms.maps.MapFragment; import com.google.android.gms.maps.model.BitmapDescriptorFactory; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.Marker; import com.google.android.gms.maps.model.MarkerOptions; import com.ylly.prolians.Base.BaseFragment; import com.ylly.prolians.utils.NavigationCallbacksInterface; public class ShopMapFragment extends BaseFragment { // Google Map private static GoogleMap googleMap; private static View rootView; private static Double latitude, longitude; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { rootView = (LinearLayout) inflater.inflate(R.layout.fragment_shop_map, container, false); return rootView; } @Override public void onViewCreated(View view, Bundle savedInstanceState) { // TODO Auto-generated method stub try { this.initilizeMap(); } catch (Exception e) { Log.d("init map", "error to load map"); e.printStackTrace(); } } /** * function to load map. If map is not created it will create it for you * */ public void initilizeMap() { if (googleMap == null) { googleMap = ((MapFragment) this.getActivity().getFragmentManager().findFragmentById(R.id.map)).getMap(); // check if map is created successfully or not if (googleMap == null) { Toast.makeText(this.getActivity().getApplicationContext(), "Sorry! unable to create maps", Toast.LENGTH_SHORT) .show(); this.setUpMap(); } } } private static void setUpMap() { // For showing a move to my loction button googleMap.setMyLocationEnabled(true); } @Override public void onResume() { super.onResume(); initilizeMap(); } }
Une fois lancé, je vois des messages d'erreur sur la console qui m'indique que la connexion au serveur google est impossible, cela m'indique aussi que c'est probablement une erreur d'authentification...
J'ai beau lire des tuto, comparer avec ce que j'ai, relire des tuto, je n'arrive pas a trouver ce que je fait de mal... J'ai besoin d'un nouveau point de vue pour m'aider :s
J'espere que vous prendrez le temps de regarder ca et merci d'avance pour vos réponse.
Je posterai la réponse si je la trouve...
Partager