2016-03-28 2 views
1

Я использую OpenLayers 3.5.0 для встраивания карты на свой сайт и поместите наложение маркера в определенные координаты. Я также добавил полноэкранный контроль. Оба работают индивидуально, но в полноэкранном режиме маркер больше не находится в указанных координатах. Он также перемещается при панорамировании вместо того, чтобы оставаться на одной карте.Openlayers map с маркером и полноэкранным управлением

Вот код, который устанавливает карту:

function map(lon, lat) { 
    var coords = ol.proj.fromLonLat([lon, lat], 'EPSG:3857'); 
    var layer = new ol.layer.Tile({ 
     source: new ol.source.OSM() 
    }); 
    var map = new ol.Map({ 
     controls: ol.control.defaults().extend([ 
      new ol.control.FullScreen() 
     ]), 
     layers: [ layer ], 
     target: 'map', 
     view: new ol.View({ 
      maxZoom: 19, 
      zoom: 15, 
      center: coords 
     }), 
     interactions: ol.interaction.defaults({mouseWheelZoom:false}) 
    }); 
    map.addOverlay(new ol.Overlay({ 
     position: coords, 
     positioning: 'bottom-center', 
     element: $('<img>') 
      .addClass('location-popover') 
      .attr('src', 'pin.jpg') 
    })); 
} 

Есть ли способ, что я могу сделать накладываемый играть хорошо в полноэкранном режиме?

+0

Невозможно воспроизвести это поведение. –

ответ

0

У меня была аналогичная проблема с пополнением/маркерами, находящимися в неправильном положении. Не уверен, что это то же самое, что вы испытываете, но в моем случае я добавлял данные на страницу вместе с маркерами, и это добавляло прокрутку в окно. Это повлияло на позиционирование, поэтому мне нужно было позвонить по телефону

map.updateSize(); 

после того, как я закончил добавлять все. После этого все выстроилось правильно.

+0

Спасибо за подсказку, к сожалению, это не помогло в моем случае. Однако я смог решить проблему, обновив до последней версии OL3. –

Смежные вопросы