slevin
slevin

Reputation: 3896

cannot set renderer on openlayers 3

According to a book I am reading about Openlayers 3 , all I have to do, to reset the renderer is to do this in the Map initialization

renderer: 'dom'

so my code is

var map = new ol.Map({
    target: 'map',
    layers: [layer],
    renderer: 'dom',
    view: view,     
});

When I load the page, the console gives no errors, but the map does not load at all. I use Openlayers 3.9.0. What is going wrong here?

Thanks

EDIT

This is all the openlayers code

var layer = new ol.layer.Tile({
        source: new ol.source.OSM()
    });

    var kbz = new ol.interaction.KeyboardZoom();
    var dr = new ol.interaction.DragRotateAndZoom();


    var control = new ol.control.FullScreen();
    var center = ol.proj.transform([-1.812, 52.443], 'EPSG:4326', 'EPSG:3857');



    var we = new ol.Overlay({
        position: center,
        element: document.getElementById('we')
    });


    var view = new ol.View({
        center: center,
        zoom: 6
    });


   var map = new ol.Map({
      target: 'map',
      layers: [layer],
      renderer: 'dom',
      view: view        
   });

    map.addInteraction(kbz);
    map.addInteraction(dr);
    map.addControl(control);


    map.addOverlay(we);

Upvotes: 0

Views: 1236

Answers (1)

Alvin Lindstam
Alvin Lindstam

Reputation: 3142

You have to set the size of the map target element, when using the dom renderer.

Canvas elements, which are used by the default renderer, has a default height of 150px, while normal divs don't have a default height. Setting the height of the target should make you map appear:

#map {
    height: 200px;
}

Upvotes: 1

Related Questions