我有一个小的弹出窗口,我正在加载用户点击页面上的链接。但大约有一半的时间,我在 firebug 的 console.log 中得到“OpenLayers.Layer.OSM.Mapnik 不是构造函数”。如果我关闭弹出窗口(这是一个 jqueryui 对话框)然后再次单击该链接,它可能不会出错。但是,如果我关闭它并再次打开它,我会再次收到错误。这很奇怪。
如果我完全刷新页面,我会在第一次单击时收到错误但关闭然后我会得到地图。
在我错过的较小窗口中加载地图有什么秘密吗?我在不同页面上的全屏版地图中没有收到错误...
这是加载地图的代码:
var map = undefined,
popup = undefined;
function initialize (){
var center_lat = "39.828175";
var center_long = "-98.579500";
OpenLayers.ImgPath = "/images/openlayers/";
map = new OpenLayers.Map ("map", {
controls:[
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoomBar()],
});
var scalebar = new OpenLayers.Control.ScaleBar({displaySystem: "english",align: "right"});// this is an external library that is loaded as a js file and works great on the full screen map too....
map.addControl(scalebar);
layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Open Street Maps");
map.addLayer(layerMapnik);
lonLat = OLL(center_long, center_lat);
map.setCenter (lonLat, 13);
}