首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >光栅层贴图界的拟合

光栅层贴图界的拟合
EN

Stack Overflow用户
提问于 2017-09-01 10:09:28
回答 1查看 3.5K关注 0票数 0

我已经浏览了Mapbox的所有fitbounds教程,仍然无法弄清楚如何将我的地图重新聚焦在给定的光栅层上。我有一个菜单,切换一些较旧的地图,并希望在每个回合的地图。

到目前为止我的情况是这样的。mapnumber是我的光栅地图的字符串。

代码语言:javascript
复制
      var coordinates = map.getBounds(mapnumber);
      var bounds = new mapboxgl.LngLatBounds(coordinates[0], coordinates[0]);
      map.fitBounds({bounds});

边界在那里,我只是不能对它们使用限界。这就是错误。

代码语言:javascript
复制
lng_lat.js:97 Uncaught Error: `LngLatLike` argument must be specified 
as a LngLat instance, an object {lng: <lng>, lat: <lat>}, or an array 
of [<lng>, <lat>]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-01 18:15:19

未知错误:必须将LngLatLike参数指定为LngLat实例

看起来您使用的mapboxgl.LngLatBounds不正确。您需要传入两个LngLat实例,而不是两个坐标。API文档有一个示例,为包围框的西南角和东北角创建一个点:

代码语言:javascript
复制
var sw = new mapboxgl.LngLat(-73.9876, 40.7661);
var ne = new mapboxgl.LngLat(-73.9397, 40.8002);
var llb = new mapboxgl.LngLatBounds(sw, ne);

然后,您可以在边界框中使用map.fitBounds()

代码语言:javascript
复制
map.fitBounds(llb);

更新:回答后续问题

如何从栅格中提取这两组(sw和ne)?

您可以使用方法。传入光栅层的源ID,这将返回具有bounds属性的对象。使用此界限属性传递到map.fitBounds()

代码语言:javascript
复制
var bounds = map.getSource('mapbox://username.source-id').bounds;
map.fitBounds(bounds);

下面是一个有用的示例:https://codepen.io/mapsam/pen/RZvyBQ

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45997911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档