Jump to content

Google maps problème


Kepsylis

Recommended Posts

Bonjour à la communauté !

Voila je viens chercher de l'aide auprès de vous parce que je suis dans une incompréhension la plus totale.

J'ai créé une application mobile sous Androïd dans lequel j'ai du intégrer une Google Maps. Sous émulateur, tout fonctionne au niveau de son affichage et des propriétés que j'y ai attribué seulement quand je l'utilise sur mon smartphone, la carte s'affiche simplement sous forme de carré blanc comme si la carte ne se chargeais pas.

J'ai testé l'application sur un autre smartphone Android pour être sur mais c'est la même chose.

Voici le code de ma classe :


package xxx.xxx.xxx;

import java.util.Collections;
import java.util.Enumeration;
import java.util.List;

import android.graphics.drawable.Drawable;
import android.os.Bundle;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;


public class MappingActivity extends MapActivity
{

private MapView mapView;
private MapController mc;
private Drawable drawable;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapping);


drawable = this.getResources().getDrawable(R.drawable.androcontrol);

mapView = (MapView) this.findViewById(R.id.mapView);
mapView.setBuiltInZoomControls(true);

displayIcon();

mc = mapView.getController();
mc.setZoom(13);
GeoPoint p = new GeoPoint((int)((43.610867)*1E6),(int)((3.876648) * 1E6));
mc.animateTo(p);
mc.setCenter(p);


mapView.setSatellite(true);

}

@Override
protected boolean isRouteDisplayed() {
return false;
}

private void displayIcon()
{
Signalement signalementActuel;

List<Overlay> mapOverlays = mapView.getOverlays();

for (Enumeration<Signalement> e = Collections.enumeration(Main.signalements.getSignalements()); e.hasMoreElements();)
{
signalementActuel = e.nextElement();


ListItimizedOverlay itemizedoverlay = new ListItimizedOverlay(drawable);
GeoPoint geoPoint = new GeoPoint((int)((signalementActuel.getArret().get_Longitude())* 1E6), (int)((signalementActuel.getArret().get_Latitude())*1E6));
OverlayItem overlayitem = new OverlayItem(geoPoint, signalementActuel.getArret().getNom(), "Controleur présent");
itemizedoverlay.addOverlayItem(overlayitem);
mapOverlays.add(itemizedoverlay);
}
}

}

Et mon XML :


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<com.google.android.maps.MapView
 android:id="@+id/mapView"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:apiKey="xxxxxxxxxxxxxxxxxxxxxxxxxx"
 android:clickable="true"
 />

</RelativeLayout>

Petite question : Concernant la clé généré par google, comme la clé est unique à chaque PC, celle-ci doit rester la même lorsque je créé mon application et que je l'utilise sur mon smartphone ?

Merci d'avance.

Link to comment
Share on other sites

Il te faut une clé spécifique pour la version signée diffusée avec ton certificat (celle de debug ne peut pas fonctionner)

https://developers.google.com/maps/documentation/android/mapkey?hl=fr

Sinon il y a un bug auquel j'ai été confronté lors d'un passage de 2.1 a 2.2 ou 3 lié à l'utilisation de mapView.setStreetView(true);

http://stackoverflow.com/questions/7730958/why-does-my-android-app-shows-google-map-with-small-boxes-over-the-map

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...