У меня есть небольшое всплывающее окно, которое я загружаю по клику пользователя по ссылке на странице.Но примерно в половине случаев я получаю сообщение «OpenLayers.Layer.OSM.Mapnik не является конструктором» в файле console.log firebug.Если я закрою всплывающее окно (которое является диалоговым окном 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);
}