Effacer un marker(en javas) API google map V2
Fermé
systembarquée
Messages postés
53
Date d'inscription
mardi 17 mai 2011
Statut
Membre
Dernière intervention
4 décembre 2012
-
1 juil. 2011 à 15:43
systembarquée Messages postés 53 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 4 décembre 2012 - 22 juil. 2011 à 15:15
systembarquée Messages postés 53 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 4 décembre 2012 - 22 juil. 2011 à 15:15
A voir également:
- Effacer un marker(en javas) API google map V2
- Google maps satellite - Guide
- Google maps - Guide
- Dns google - Guide
- Créer un compte google - Guide
- Google - Guide
3 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
1 juil. 2011 à 15:59
1 juil. 2011 à 15:59
Bonjour,
Dans le code que tu donnes, tu crées un marqueur et le supprime immédiatement.
Il faudrait plutôt que tu sois capable de passer le marqueur, ou son indice i dans liste_de_points[], pour pouvoir ensuite le supprimer :
Si tu ne peux vraiment pas, et es obligé d'utiliser latitude et longitude, je pense que tu vas devoir parcourir tous tes marqueurs pour repérer les bons :
Remplace les ??? par les membres qui donnent latitude et longitude : je ne connais pas du tout l'API google maps, donc je ne sais pas comment ils s'appellent...
Xavier
Dans le code que tu donnes, tu crées un marqueur et le supprime immédiatement.
Il faudrait plutôt que tu sois capable de passer le marqueur, ou son indice i dans liste_de_points[], pour pouvoir ensuite le supprimer :
function effacer_POI(marqueur){ // on supprime le point de la carte google_map.removeOverlay(marqueur); dirn.clear(); google_map.clearoverlays(); } ou function effacer_POI(indice){ // on supprime le point de la carte google_map.removeOverlay(liste_de_points[indice]); dirn.clear(); google_map.clearoverlays(); }
Si tu ne peux vraiment pas, et es obligé d'utiliser latitude et longitude, je pense que tu vas devoir parcourir tous tes marqueurs pour repérer les bons :
function effacer_POI(a,b){ // on parcourt tous les points for(i = 0; i < liste_de_points.length; i++) { var latitude = liste_de_points[i].???; var longitude = liste_de_points[i].???; // Si le point correspond, on le supprime if (latitude == a && longitude == b) { google_map.removeOverlay(liste_de_points[i]); dirn.clear(); google_map.clearoverlays(); } } }
Remplace les ??? par les membres qui donnent latitude et longitude : je ne connais pas du tout l'API google maps, donc je ne sais pas comment ils s'appellent...
Xavier
systembarquée
Messages postés
53
Date d'inscription
mardi 17 mai 2011
Statut
Membre
Dernière intervention
4 décembre 2012
8
22 juil. 2011 à 10:47
22 juil. 2011 à 10:47
Merci pour la réponse, je vais plutôt utiliser la latitude et la longitude.
Mais mon liste_des_points[] est un tableau, il n'existe pas de membre pour obtenir la latitude et la longitude mais je pense pouvoir le faire avec marker. Car plus haut dans mon programme j'ai un:
function add_point_by_coord(lat,lng,)
{
var marker = new GMarker(new GLatLng(lat,lng), markerOptions);
liste_des_points[liste_des_points.length]=marker
}
Mais mon liste_des_points[] est un tableau, il n'existe pas de membre pour obtenir la latitude et la longitude mais je pense pouvoir le faire avec marker. Car plus haut dans mon programme j'ai un:
function add_point_by_coord(lat,lng,)
{
var marker = new GMarker(new GLatLng(lat,lng), markerOptions);
liste_des_points[liste_des_points.length]=marker
}
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
22 juil. 2011 à 12:11
22 juil. 2011 à 12:11
« Mais mon liste_des_points[] est un tableau, il n'existe pas de membre pour obtenir la latitude et la longitude mais je pense pouvoir le faire avec marker. »
Euh, liste_des_points[] est un tableau, mais liste_des_points[i] est un marker...
Euh, liste_des_points[] est un tableau, mais liste_des_points[i] est un marker...
systembarquée
Messages postés
53
Date d'inscription
mardi 17 mai 2011
Statut
Membre
Dernière intervention
4 décembre 2012
8
22 juil. 2011 à 12:38
22 juil. 2011 à 12:38
Oui, vous avez raison.
J'ai trouvé un début de réponse.
function effacer_point(a,b)
{
// on parcourt tous les points
for ( i = 0; i < listedepoints.length; i++)
{
var latitude = marker.getPoint().lat();
var longitude = marker.getPoint().lng();
// Si le point correspond, on le supprime
if (latitude == a && longitude == b)
{
google_map.removeOverlay(listedepoints[i]);
dirn.clear();
google_map.clearoverlays();
}
}
}
J'ai trouvé un début de réponse.
function effacer_point(a,b)
{
// on parcourt tous les points
for ( i = 0; i < listedepoints.length; i++)
{
var latitude = marker.getPoint().lat();
var longitude = marker.getPoint().lng();
// Si le point correspond, on le supprime
if (latitude == a && longitude == b)
{
google_map.removeOverlay(listedepoints[i]);
dirn.clear();
google_map.clearoverlays();
}
}
}
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
22 juil. 2011 à 14:04
22 juil. 2011 à 14:04
Remplace
var latitude = marker.getPoint().lat();
var longitude = marker.getPoint().lng();
par
var latitude = listedepoints[i].getPoint().lat();
var longitude = listedepoints[i].getPoint().lng();
et tu devrais être bon :)
var latitude = marker.getPoint().lat();
var longitude = marker.getPoint().lng();
par
var latitude = listedepoints[i].getPoint().lat();
var longitude = listedepoints[i].getPoint().lng();
et tu devrais être bon :)
systembarquée
Messages postés
53
Date d'inscription
mardi 17 mai 2011
Statut
Membre
Dernière intervention
4 décembre 2012
8
22 juil. 2011 à 15:15
22 juil. 2011 à 15:15
Merci, je l'avais déjà fait.
Comme j'avais écrasé marker en faisant liste_des_points[liste_des_points.length]=marker.
Je dois passer par listedepoints[i].
A bientot.
Comme j'avais écrasé marker en faisant liste_des_points[liste_des_points.length]=marker.
Je dois passer par listedepoints[i].
A bientot.