Si vous utilisez l'interopérabilité avec une bibliothèque (comme la géolocalisation, dans votre cas), et qu'elle attend un objet JavaScript, vous devrez lui transmettre un objet JavaScript standard, et non une map Clojure.
Vous pouvez en construire un en ClojureScript en utilisant la fonction js-obj
sans aucun argument. Elle renverra un JavaScript vide, sans champs ; vous pourrez ensuite ajouter des champs à l'aide de la fonction aset
fonction.
Votre code serait donc quelque chose comme :
(let [arg (js-obj)]
(aset arg "enableHighAccuracy" true)
(.watchPosition (.geolocation navigator) on-success on-error arg))
Si c'est quelque chose que vous faites souvent, il est facile d'écrire une fonction utilitaire pour convertir une carte ClojureScript en un objet JavaScript en utilisant les valeurs par défaut que vous souhaitez ; un exemple d'une telle fonction se trouve dans ce gist ; https://gist.github.com/1658431