PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Conversion vue champ carte vers GoogleMap (Java)
Conversion vue champ carte vers GoogleMap (Java)
Débuté par A-B, 01 fév. 2017 08:37 - 3 réponses
Posté le 01 février 2017 - 08:37
Bonjour,
étant donne qu'il n'y a pas l'auto-complétion ni de doc la dessus, comment savoir quelle méthodes possède la vue du champ carte recuperee par getView("Carte"); ?

Pourquoi c'est du type "View" et pas GoogleMap ?
Du coup ce champ ne sert a rien ?

J'imagine qu'il n'y a aucun moyen de caster le View en GoogleMap ?
GoogleMap map = (GoogleMap)getView("Carte"); // impossible

Mon but était de simplement utiliser la fonction addCircle de GoogleMap ...

Merci de vos idees
Posté le 01 février 2017 - 11:12
Je me répond a moi-même si jamais d'autre personne rencontre le même problème :

getView("Carte"); // renvoie un MapView

on peut récupérer un champ GoogleMap avec getMapAsync(OnMapReadyCallBack)
Membre enregistré
309 messages
Popularité : +31 (37 votes)
Posté le 01 février 2017 - 15:20
Merci pour le partage.
Bon dev.
Posté le 10 octobre 2017 - 08:31
Bonjour,

Pour ceux qui chercheraient à améliorer la carte GoogleMap. Ce n'est qu'un exemple mais il fonctionne et c'est une base de départ pour tout le reste.

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapView;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.maps.model.Marker;
import android.widget.Toast;

public static void CustomMap()
{
MapView mapView = (MapView) getView("CARTE_Accueil");
mapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
LatLng PARIS = new LatLng(48.858093, 2.294694);

//ajoute un marker sur Paris
googleMap.addMarker(new MarkerOptions().title("Paris").position(PARIS));

//centre la google map sur Paris (avec animation de zoom)
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(PARIS, 15));
googleMap.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);

googleMap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
@Override
public void onInfoWindowClick(Marker marker) {
Toast.makeText(getContexteApplication(),marker.getTitle(),Toast.LENGTH_LONG).show();
}
});
}
});
}