Карта не отображается после нажатия - PullRequest
0 голосов
/ 06 января 2020

У меня проблема с отображением карты в контейнере div. Когда я нажимаю div «огонь», div «карта» показывает, но не отображает карту. Если я увеличу масштаб (Chrome ctrl и +), появится карта. Если я установлю на дисплей блокировку, карта загрузится в контейнер. Как заставить карту появиться после нажатия «огонь»?

PHP:

echo '<div id="site"> ';
echo '<div id="map" style="width:600px;height:400px;display:none;background:red;"> ';
echo '</div>';
echo '<div id="fire" style="width:200px;height:100px;background:black;"> show me!';
echo '</div>';
echo '</div>';

JS:

    var pdf_map_source_loaded_source = new ol.source.OSM();
    var pdf_map_source = new ol.layer.Tile({source: pdf_map_source_loaded_source , zIndex:9999});

        //*********************************************************************************        
         var pdf_view = new ol.View({
            center: ol.proj.transform([20.328150146900917 , 51.75598647643658], 'EPSG:4326', 'EPSG:3857'),
                        rotation: 0,
                        zoom: 10
          });

    //********************************************************************************* 

                // Map
                var pdf_map = new ol.Map({ 
                           target: 'map',
                                    layers: [
                                 pdf_map_source 
                                 ]
                         ,


                    view: pdf_view
               });

    //---------------------------------------------------- fire event ------------------------------------------------

         $(document).on("click","#fire", function () {
            $('#map').show(1);
            });

с отображением: заблокировать карту отображается после обновления страницы:

echo '<div id="map" style="width:600px;height:400px;display:block;background:red;"> ';

1 Ответ

2 голосов
/ 06 января 2020

Если вам нужно создать карту перед тем, как сделать ее видимой, попробуйте

     $(document).on("click","#fire", function () {
        $('#map').show(1);
          pdf_map.updateSize();
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...