Mapbox GL JS getBounds()/fitBounds()

Je suis en utilisant Mapbox GL JS v0.14.2 et j'ai cherché haut et bas grâce à la documentation et très peu est clair à ce sujet.

Si vous utilisez la norme API JS, il est très clair à s'adapter carte de marqueurs à l'aide d'un exemple, ils ont fourni (https://www.mapbox.com/mapbox.js/example/v1.0.0/fit-map-to-markers/); toutefois, le programme d'installation lors de l'utilisation de l'api GL est tout à fait différent. L'API GL a getBounds() ( https://www.mapbox.com/mapbox-gl-js/api/#Map.getBounds ), mais parce que vous ne disposez pas d'un nom de couche, comme la norme API JS, donc j'ai du mal à travailler sur la façon d'utiliser getBounds() à tous.

J'ai trouvé ceci ( Mapbox GL API JS fixer des Limites ), mais ne peut certainement pas être la bonne réponse?

C'est l'essentiel de mon installation; à l'exclusion de configuration JSON et d'autres options.

mapboxgl.accessToken = '<myaccesstoken>';

var markers = <?php echo $programme_json; ?>;

var map = new mapboxgl.Map({
    container: 'map',
    style: 'mapbox://styles/richgc/cikyo5bse00nqb0lxebkfn2bm',
    center: [-1.470085, 53.381129],
    zoom: 15
});

map.on('style.load', function() {
    map.addSource('markers', {
        'type': 'geojson',
        'data': markers
    });

    map.addLayer({
        "id": "markers",
        "interactive": true,
        "type": "symbol",
        "source": "markers",
        "layout": {
            "icon-image": "venue-map-icon-blue",
            'icon-size': 0.5,
            "icon-allow-overlap": true
        }
    });

    map.scrollZoom.disable();

});

J'ai essayé ce qui suit:

alert(map.getBounds()); //LngLatBounds(LngLat(-1.4855345239256508, 53.37642500812015), LngLat(-1.4546354760740883, 53.38583247227842))
var bounds = [[-1.4855345239256508, 53.37642500812015],[-1.4546354760740883, 53.38583247227842]]
map.fitBounds(bounds);

Donc je sais comment les fitBounds, mais je n'en suis pas sûr comment les obtenir map.getBounds() semble juste pour retourner le jeu au centre de gnl/lat.

Marqueurs JSON:

var markers = {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"title":"Site Gallery","url":"\/Freelance\/art-sheffield-2016\/programme\/site-gallery\/","summary":"Duis arcu tortor, suscipit eget, imperdiet nec, imperdiet iaculis, ipsum. Donec id justo. Aenean tellus metus, bibendum sed, posuere ac, mattis non, nunc. Suspendisse feugiat. Etiam rhoncus.","image":"\/Freelance\/art-sheffield-2016\/site\/assets\/files\/1032\/site_gallery.jpg","marker-symbol":"venue-map-icon-blue","colour":"blue"},"geometry":{"type":"Point","coordinates":["-1.466439","53.376842"]}},{"type":"Feature","properties":{"title":"Moore Street Substation","url":"\/Freelance\/art-sheffield-2016\/programme\/moore-street-substation\/","summary":"","image":null,"marker-symbol":"venue-map-icon-green","colour":"green"},"geometry":{"type":"Point","coordinates":["-1.477881","53.374798"]}},{"type":"Feature","properties":{"title":"S1 Artspace","url":"\/Freelance\/art-sheffield-2016\/programme\/s1-artspace\/","summary":"","image":null,"marker-symbol":"venue-map-icon-red","colour":"red"},"geometry":{"type":"Point","coordinates":["-1.459620","53.380562"]}}]};
  • "la carte.getBounds() semble juste pour retourner le jeu au centre de gnl/lat" N'est-il pas de retourner le bas-gauche et haut-droit coordonnées de votre boîte englobante?