I tried this solution of mine and it worked.
Run the script on dom ready using jquery.
basically instead of using your function initialize
like this :
function initialize(){
/*You code */
}
do this:
$(function(){
/*You code */
})
And no need for google.maps.event.addDomListener(window, 'load', initialize);
Anymore.
Edit #1 : I am currently facing some familiar problem to yours, and I think I have a better solution to you now.
in your JS file, after your initialize function , put this function:
var ready: // Where to store the function
ready = function() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&' + 'libraries=places&'+'callback=initialize';
document.body.appendChild(script);
};
What it basically does is that it calls for the map loader first, and then calls for the map after the loader is ready.
And afterwards make use of you what just wrote with this
In your html page :
<script>
$.getScript("You js file path",function(){
$(document).ready(ready);
});
</script>
And this gets the script so you can use its variables, and then call the variable you need ready
after the DOM is ready and finished loading.
I recommend putting this at the bottom of your html page,after the body closes.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…