I have the following function that loads the google maps api:

```
(defn load-google-maps-api []
                (js/console.log "script element is " script)

            (set! (.-src script) 
"https://maps.googleapis.com/maps/api/js?key=AIzaSyD1r7IEMfQzY&callback=init_delivery_map";)

            (set! (.-defer script) true)
            (set! (.-async script) true)
            (set! (.-init-delivery-map js/window)
                  (fn []
                    (prn "setting delivery-map")
                    (reset! delivery-map
                          (js/google.maps.Map. (js/document.getElementById 
"delivery-map")
                                               {:center {:lat 37.0 :lng 
-122.0}}))))

            (.append (js/jQuery "head") script)

)

```

which I call when an event is triggered. However, the line ```(.append 
(js/jQuery "head") script)``` in conjunction with the line. (set! (.-src 
script) 
"https://maps.googleapis.com/maps/api/js?key=AIzaSyD1r7IEMfQzY&callback=init_delivery_map";)

 ``````

cause the error:

```
Uncaught (in promise) RangeError: Maximum call stack size exceeded
    at Object.cljs$core$array_index_of [as array_index_of] (core.cljs:6592)
    at Object.cljs$core$array_map_index_of [as array_map_index_of] 
(core.cljs:6607)
    at ni.eval [as cljs$core$ILookup$_lookup$arity$3] (core.cljs:6892)
    at ni.eval [as get] (core.cljs:6822)
    at ni.streetView_changed 
(js?key=AIzaSyD1r7IwW4_MfQzY&callback=init_delivery_map&_=1592974955286:217)
    at $d 
(js?key=AIzaSyD1r_MfQzY&callback=init_delivery_map&_=1592974955286:63)
    at ni._.O.set 
(js?key=AIzaSyD1r7IEvvf6w8FlMfQzY&callback=init_delivery_map&_=1592974955286:181)
    at ni.streetView_changed 
(js?key=AIzaSyD1r7IEvMfQzY&callback=init_delivery_map&_=1592974955286:217)
    at $d 
(js?key=AIzaSyD1r7IEvvf6w8FlHu3k_hP_oJwW4_MfQzY&callback=init_delivery_map&_=1592974955286:63)
    at ni._.O.set 
(js?key=AI_MfQzY&callback=init_delivery_map&_=1592974955286:181)

```

Suggesting that the maximum call stack is less than what it should be. 
Because the javascript version of this code doesn't give this error and 
works:

```
function loadGoogleMapsApi() {
    var script = document.createElement('script');
    script.src = 
'https://maps.googleapis.com/maps/api/js?key=AIzaSyD1r7IEvvf6w8FlHu3k_hP_oJwW4_MfQzY&callback=initDeliveryMap';
    script.defer = true;
    script.async = true;

    window.initDeliveryMap = function() {
        console.log("init map");
        console.log("Element is ", document.getElementById("delivery-map"));
        deliveryMap = new 
google.maps.Map(document.getElementById("delivery-map"), {
            center: { lat: 37.7749, lng: -122.4194 },
            zoom: 8
        });
    };

    document.head.appendChild(script);

}


```

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojurescript+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojurescript/e246b83c-cd2c-49b5-84ed-3c6d1e8bf3f4n%40googlegroups.com.

Reply via email to