谷歌地圖API需要我用異步延遲加載腳本:在catch-22時如何加載Google的Places API和Map API?
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=[MY_KEY]&callback=initMap">
</script>
與此同時,谷歌Places API的要求我可以正常加載腳本:
<script src="https://maps.googleapis.com/maps/api/js?key=[MY_KEY]&v=3.exp&sensor=false&libraries=places">
</script>
如果兩者的頁面,谷歌地方不起作用。
如果我刪除了地圖API,沒有別的,谷歌Places運作。但是,當然,地圖不起作用。
如果這是不是已經夠麻煩,谷歌抱怨在我加載它們的API兩次控制檯。不夠公平,但如果結合我的要求:?
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=[MY_KEY]&callback=initMap&v=3.exp&sensor=false&libraries=places">
</script>
...然後既不負載(帶或不帶「異步延遲」
的任何解決方案,有沒有人碰到這個我不能?發現在谷歌或#2的任何答案,什麼似乎是一個常見的用例(具有在形式Places API的自動提示的位置,然後在同一頁面顯示在地圖的位置)。
將合併的負載應工作(用'異步defer'和回調或不'異步defer' **和**無回調參數,但具有不同的機構來運行'initMap功能)。請提供證明問題的[mcve]。 – geocodezip
其實,答案是,如果你使用initMap和組合查詢(這兩者都是強制性的,反正),那麼你需要把所有功能集成到initMap。 http://stackoverflow.com/questions/40403251/getting-uncaught-referenceerror-google-is-not-defined-error-using-google-maps – MattWithoos