Openlayers 3 带有标记和全屏控件的Openlayers地图

Openlayers 3 带有标记和全屏控件的Openlayers地图,openlayers-3,Openlayers 3,我正在使用OpenLayers 3.5.0在我的网站中嵌入地图,并在特定坐标处放置标记覆盖。我还添加了一个全屏控件。两者都单独工作,但在全屏模式下,标记不再位于指定的坐标处。它在平移时也会四处移动,而不是固定在一个地图位置 以下是设置地图的代码: function map(lon, lat) { var coords = ol.proj.fromLonLat([lon, lat], 'EPSG:3857'); var layer = new ol.layer.Tile({

我正在使用OpenLayers 3.5.0在我的网站中嵌入地图,并在特定坐标处放置标记覆盖。我还添加了一个全屏控件。两者都单独工作,但在全屏模式下,标记不再位于指定的坐标处。它在平移时也会四处移动,而不是固定在一个地图位置

以下是设置地图的代码:

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')
    }));
}
功能图(lon、lat){
var coords=来自Lonlat([lon,lat],'EPSG:3857')的其他项目;
var layer=新ol.layer.Tile({
来源:new ol.source.OSM()
});
var map=新ol.map({
控件:ol.control.defaults().extend([
新建ol.control.FullScreen()
]),
图层:[图层],
目标:“地图”,
视图:新ol.view({
maxZoom:19,
缩放:15,
中心:coords
}),
交互:ol.interaction.defaults({mouseweelzoom:false})
});
map.addOverlay(新ol.Overlay({
职位:coords,
定位:'底部中心',
元素:$('

有什么方法可以让覆盖层在全屏模式下很好地播放吗?

我遇到了一个类似的问题,弹出框/标记位于错误的位置。不确定这是否与您遇到的情况相同,但在我的情况下,我将数据与标记一起添加到页面中,这是在窗口中添加了一个滚动条。这影响了p定位,所以我要做的就是打电话

map.updateSize();

在我添加完所有内容之后。之后,所有内容都正确排列。

我遇到了一个类似的问题,弹出框/标记位于错误的位置。不确定是否与您遇到的情况相同,但在我的情况下,我将数据与标记一起添加到页面,这是在窗口中添加滚动条。这会影响我改变了位置,所以我要做的就是打电话

map.updateSize();

在我添加完所有内容后。之后,所有内容都正确排列。

无法复制此行为。无法复制此行为。感谢提示,不幸的是,它对我的情况没有帮助。不过,我可以通过升级到最新版本的OL3来解决此问题。感谢提示,不幸的是,它对我的情况没有帮助。不过,我通过升级到最新版本的OL3解决了这个问题。