Так нельзя. map
объявлено локально в loadMap
, и вы не можете получить к нему доступ вне этой функции. Кроме того, вы должны сначала выполнить loadScript
. Кстати, не используйте setAttribute
для установки src
и type
.
Вместо этого используйте переменную, объявленную во внешней области (предпочтительно не в глобальной области), например
<script>
function loadScript() {
var script = document.createElement("script");
script.src = "http://maps.google.com/maps?file=api&v=2.x&key=ABQIAAAAAXN1Nhid00zgr5mrYEM7MhQ
script.type = "text/javascript";
document.documentElement.firstChild.appendChild(script);
}
loadScript();
</script>
<!-- close script element here to update DOM -->
<script>
var map; // declared outside loadMap
function loadMap(){
map = new GMap2(document.getElementById("google_map"));
}
$(document).ready(function(){
loadMap();
// Now map is available here
});
</script>