J'ai reçu ma clé API et défini toutes les autorisations. J'ai également défini qu'il utilise la bibliothèque Google Maps, mais je reçois toujours la grille grise lorsque je charge la mise en page de la carte. Je ne peux pas non plus obtenir l'émulateur pour travailler avec les coordonnées. Il est dit "Disabled Provider Network", mais les coordonnées fonctionnent très bien lorsque je débogue sur mon téléphone.MapView affiche toujours la vue vide
Voici mon fichier de disposition.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.google.android.maps.MapView
android:id="@+id/map_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:enabled="true"
android:clickable="true"
android:apiKey="0inWE-rpNsby-evq_ORv1bdMuhprR3R38VeZaAw"
/>
<LinearLayout android:id="@+id/zoom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
Voici le fichier Java correspondant.
package com.example.zip.code;
import android.app.Activity;
import android.content.Intent;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import com.google.android.maps.MapView;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
public class OpenMap extends MapActivity {
private MapController mapController;
private LocationManager locationManager;
private String prov;
double lat;
double lng;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.maplayout);
//Criteria crit = new Criteria();
//prov = locationManager.getBestProvider(crit, false);
//Location loc = locationManager.getLastKnownLocation(prov);
// Get Mapping Controllers etc
MapView mapView = (MapView) findViewById(R.id.map_view);
mapController = mapView.getController();
// Center on Current Position
//mapController.setCenter(new GeoPoint((int) (loc.getLatitude() * 1E6),
// (int) (loc.getLongitude() * 1E6)));
// mapController.setCenter(new GeoPoint(1924000,-99120000));
mapController.setZoom(11);
mapView.setBuiltInZoomControls(true);
}
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mapsettings, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.zipswap:
swapToZip();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public void swapToZip(){
Intent i = new Intent(getApplicationContext(), MainActivity.class);
startActivity(i);
}
}
Je ne sais pas ce qui semble aller mal. J'ai utilisé tout ce qui devrait être requis mais j'ai quand même une grille grise. Ai-je besoin d'une clé séparée pour le débogage ou quelque chose?
Avez-vous plusieurs dossiers .android sur votre ordinateur? Si oui, essayez l'autre. J'ai trouvé que j'avais 2. – jasonflaherty
Ceci est un excellent endroit pour aider aussi: http://www.vogella.com/articles/AndroidGoogleMaps/article.html – jasonflaherty