ページ上のリンクをユーザーがクリックするとロードする小さなポップアップウィンドウがあります。しかし、約半分の時間で、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);
}