Hello,
quelle est la méthode pour récupérer le "nom" d'un object google.maps ?
j'ai essayé .caller, .name, .constructor.name sans success, je précise que ce n'est pas du typeof...
par exemple j'utilise une function getInfos comme ça :
function getInfos(Object element){
// comment connaitre le "type" ou "name" de l'object element ?
// element.name ne fonctionne pas -> me renvoie undefined
// element.caller non plus -> me renvoie undefined
}
je pourrais faire autrement et passer par des options, ou encore comparer ces mêmes objects, ce n'est pas vital mais j'aimerais savoir.... ;)
concrètement, ma situation :
je monte une carte 'google map' interactive sur laquelle on peut créer des markers et des lignes (entre ces-dits markers).
je souhaite pouvoir cliquer sur ces différents éléments (marker ou ligne) et utliser la même function de traitement.
ce que j'ai :
quand je clique sur un marker je récupère un élément de type '.De'
et sur une ligne un élément de type '.Me'
donc, comment savoir si c un '.De' ou un '.Me' ?
merci
g trouvé un moyen détourné d'obtenir mon "name" : c de le surcharger :(
exemple avec les lignes de 'google maps' :
google.maps.Polyline.prototype.name = 'polyline';
de même pour les markers :
google.maps.Marker.prototype.name = 'marker';
mais c po terrible, je ne veux pas surcharger les class à chaque fois, je suis certain qu'il existe une méthode comme dans php : get_class....
Bonjour.
Pourquoi tu n'utilises tout simplement pas le debugger
?
Comme ça tu peux voir comment est composé l'objet que tu récupères :
function getInfos(Object element) {
var elem = element;
debugger
}
Quand la fonction sera utilisé, tu verras la composition de l'objet dans la console de l'inspecteur de ton navigateur.
;) merci @Lartak pour ta réponse.
mais si je connais le nom des objects, c que je l'utilise déjà ;)....
non, le soucis, c que je n'arrive pas a le récupérer...
un exemple :
var Obj1 = function(){
}
var Obj2 = function(){
}
function getInfos(el){
console.log(el); // va te sortir ton obj de type Obj1
console.log(el.constructor.name) // sort Obj1 mais pas sur les object 'google.maps' :(
}
myObj = new Obj1();
getInfos(myObj);