Google maps Ya, Za et $ a

J'utilise google maps pour trouver lat et lng de l'emplacement cliqué. Après avoir stringifié l'objet d'événement javascript, j'ai trouvé

{"latLng":{"Za":25.800813110356653,"$a":78.7055234375},"pixel":{"x":689,"y":336},"va":{"x":183.96837222222223,"y":108.99927181860028}} 

Alors Za est lat et $ a est lng maintenant.

Bien qu'il y a deux jours, j'utilise exactement le même code et obtenais le même objet que:

 {"latLng":{"Ya":25.800813110356653,"Za":78.7055234375},"pixel":{"x":689,"y":336},"va":{"x":183.96837222222223,"y":108.99927181860028}} 

Ce qui me dérange, c'est qu'ils ont changé les noms des objets pendant la nuit. Pourquoi font-ils cela et y a-t-il un moyen fiable de trouver plutôt la latitude et la longitude?

Les noms internes changent avec les changements de code: si un autre jeton est introduit, une variable qui a été minifée comme Ya peut finir par être Za .

Vous ne devriez jamais accéder aux références internes. Toujours utiliser des méthodes documentées.

D'accord. J'ai trouvé la réponse en partie.

Nous n'avons pas besoin de déranger les noms. Nous pouvons utiliser des fonctions à la place.

 lat = e.latLng.lat(); lon = e.latLng.lng(); 

Google ne modifie pas les noms des méthodes publiées. Cependant, chaque fois qu'une mise à jour est déployée, le fichier de script de cartes est exécuté à travers un processus d'obstruction qui réduit les noms familiers dans le code aux noms courts que vous essayez de faire référence. Les résultats peuvent être différents chaque fois que le code est obscurci. Comme Andrew le souligne ci-dessus, si une nouvelle méthode ou une nouvelle variable est introduite, cela peut jeter l'ordre d'obfusation préalable. (Ils peuvent même exécuter ce processus périodiquement juste pour empêcher les gens d'accéder aux membres internes comme vous l'avez fait ci-dessus).

http://fr.wikipedia.org/wiki/Obfuscation_%28software%29