Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow controls to be placed at top-center, bottom-center, left-center, and right-center #3039

Open
mb12 opened this issue Aug 20, 2016 · 10 comments

Comments

@mb12
Copy link

mb12 commented Aug 20, 2016

mapbox-gl-js version:Master

Steps to Trigger Behavior

Can you please suggest a workaround / solution for this? This is blocking switching from G Maps to Mapbox GL JS.

We need to put controls on the map at top center and bottom center. Google maps supports this and other positions for controls. You can find more details of supported positions at the link below. TOP_CENTER and BOTTOM_CENTER would unblock me.

I am hoping it just a matter of adding css. mapbox-gl.css only includes css for adding controls at the four corners.

https://developers.google.com/maps/documentation/javascript/controls

Expected Behavior

Actual Behavior

@lucaswoj lucaswoj changed the title addControl at TOP_CENTER and other positions in map. Allow controls to be placed at top-center, bottom-center, left-center, and right-center Aug 22, 2016
@lucaswoj
Copy link
Contributor

@mb12 Until this lands in master, you should be able to implement this functionality downstream by adding your own CSS rules for mapboxgl-ctrl-*-center.

@mollymerp
Copy link
Contributor

@mb12 here's a quick and dirty hack https://jsfiddle.net/wwbh6qsh/

@hermesespinola
Copy link

A workaround that I'm using, instead of renaming another position like the jsfiddle molly shared.

function registerControlPosition(map, positionName) {
        if (map._controlPositions[positionName]) {
            return;
        }
        var positionContainer = document.createElement('div');
        positionContainer.className = `mapboxgl-ctrl-${positionName}`;
        map._controlContainer.appendChild(positionContainer);
        map._controlPositions[positionName] = positionContainer;
    }

You just have to define css rules for mapboxgl-ctrl-${positionName}.
This mutates some property of the map, so may not work in the future. I'm using v0.44.2.

@cs09g
Copy link
Contributor

cs09g commented Apr 29, 2019

I hope there should have right-bottom, left-bottom, right-top, left-top those placed on different direction with bottom-right, bottom-left, top-right, top-left. such https://developers.google.com/maps/documentation/javascript/controls#ControlPositioning

@Strongleong
Copy link

6 years and still nothing...

@srgorelik
Copy link

+1 for more out-of-the-box options for control positioning

@mbrammer
Copy link

+1

3 similar comments
@JulienBlancher
Copy link

+1

@syshriki9
Copy link

+1

@AndreasAtakan
Copy link

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests