3

I want to use google maps api v3, and it needs me to instantiate google.maps.LatLng. Using clojurescript this is what I do:

(ns foocljs.core)

(LatLng. (.-maps js/google) 100 100)

I got an error undefined is not a function, this is the culprit:

new foocljs.core.LatLng(foocljs.core.google.maps, // ... another args

I'm guessing this is because the compiler think that LatLng. is clojure namespaced class. How to deal with this? Thanks.

2 Answers 2

6

Using js/a.b.c.d is a bad practice and is likely to break in future versions of the compiler (because it is not a clojure compatible version of interop from what I know)

The good way would be:

(def LatLng (.. js/google -maps -LatLng))

(LatLng. 100 100)
Sign up to request clarification or add additional context in comments.

Comments

1

Silly me, I can just do this:

(js/google.maps.LatLng. 100 100)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.