2012-04-25 19 views
3

Листовка рендеринга, потому что я могу видеть все его элементы в DOM, но больше ничего не оживает. Все, что я вижу, серое.Элементы карты листа сидят в DOM, но не отображаются?

Единственный способ, которым я могу получить отображение плитки на карте, - это удалить я положение: абсолютное на контейнере карты, но это создает кучу разбитых фрагментов карты. Я проверил историю GIT, чтобы увидеть, случайно ли я изменил стиль, но не повезло.

Вот код инициализации карты:

// init everything on page show 
$("#map").live('pageshow',function() { 
    if(window.localStorage.getItem("lat")!=undefined) { var lat = window.localStorage.getItem("lat")} else { var lat = '49.264'; } 
    if(window.localStorage.getItem("lng")!=undefined) { var lng = window.localStorage.getItem("lng")} else { var lng = '-123.123'; } 
    try {   
     var map = window.map 
     map = new L.Map('map-container'); 
     var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/006282296d334e66a593e55aca6b5ce0/54803/256/{z}/{x}/{y}.png'; 
     var cloudmadeAttribution = 'Map Data © 2011 OpenStreetMap'; 
     var cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18, attribution: cloudmadeAttribution}); 
     map.setView(new L.LatLng(lat, lng), 12).addLayer(cloudmade); 
     map.invalidateSize(); 
    } catch(e) {console.log(e)} 
    userMarkers[1] = new L.Marker(new L.LatLng(lat,lng) , {icon: new iconUser, clickable: true}); 
    map.addLayer(userMarkers[1]); 
}); 

среда включает в себя JQuery мобильный. К сожалению, консоль не регистрирует никаких ошибок, и localStorage выше действительно имеет действительные значения LatLng, когда я его проверяю.

Скриншот: screenshot

Любые домыслы?

ответ

4

Я не знаю, как эта проблема началась, но исправить это, я пошел и стер все стили карты контейнера, а затем объявил:

#map-container { 
    position:absolute; 
    top:0; 
    bottom:0; 
    left:0; 
    right:0; 
    margin: 0; 
    padding: 0; 
} 

И теперь проблема решена. Я никогда раньше не использовал такой стиль, поэтому не могу догадаться, как началась эта проблема.