我基本上有以下代码:
if(window.google)
return window.mapInit();
$.getScript( 'http://maps.google.com/maps/api/js?v=3&sensor=false&callback=mapInit' );
//* Google map callback
window.mapInit = function() {
if (!typeof(google ==='object'))
return false; // error: google maps API not loaded
var pos = gmap.pos.split(',');
console.log(pos);
var args = {
zoom : 13,
center : new google.maps.LatLng(pos[0],pos[1]),
panControl : true,
zoomControl : true,
scaleControl : true,
mapTypeId : google.maps.MapTypeId.ROADMAP,
scrollwheel : false,
draggable : true
}
google.maps.visualRefresh = true;
gmap.map = new google.maps.Map( document.getElementById( 'gmap' ), args );
}
代码第一次工作正常 - 但是,如果我点击一个链接打开另一个带有一些新coords的地图,则会出现错误:TypeError:'null'不是一个对象(评估'a [ib]' )指的是main.js第28行
有人知道我做错了吗?
答案 0 :(得分:0)
因为该元素已经被占用......也许......如果你想在页面上有多个地图......你每次都会创建一个新的div。希望这段代码有帮助..
var myDiv = document.createElement('div');
myDiv.id = 'gmapNew';
gmap.map = new google.maps.Map( document.getElementById( 'gmapNew' ), args );