问题标签 [mapbox-gl-js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何在 Mapbox GL JS 中搜索矢量图层特征
我需要添加一个搜索栏,用于搜索由 mapbox 托管的矢量图层属性特征。我正在使用 Mapbox GL JS API。我知道这可以通过 Mapbox js/Leaflet 轻松完成。我完全不知道如何在 Mapbox GL JS 中做同样的事情。我想搜索一个邮政编码,它对应于我的矢量图层中的一个特征属性(请注意,我不希望对地址或邮政编码进行地理编码。我知道 Mapbox GL 有一个地理编码器插件。这个不是我要找的)。然后,我希望根据匹配的搜索条目,使用来自矢量图层的各种特征值来更新 html 信息面板。
我需要知道如何将搜索功能与 Mapbox 提供的矢量图层功能结合起来(这个问题专门与 Mapbox GL 相关,而不是旧的 Mapbox JS 库)。
json - json 风格的数值变量
我被困在我的样式设置中,因为我不知道如何为“icon-rotate”属性放置一个数字变量。
我试过了
但是没有任何效果我总是得到错误
层[10].layout.icon-rotate:预期数字,找到字符串
mapbox - Mapbox Geocoder 似乎以纽约市地址的错误位置为中心
我正在使用https://www.mapbox.com/mapbox-gl-js/example/mapbox-gl-geocoder/
但是当我尝试纽约市地址时,地图中心位置不正确。
当地图重新定位时,我希望该地址成为地图的中心。
但我发现这是不正确的,有时很多
例如,对于“1 Broadway, New York, NY”,我看到(如果没有平移和缩放,甚至无法看到 1 Broadway)
是否有更好的地理编码器示例适用于纽约市地址?
但正确的地图是这样的:
它似乎在其他地方工作
Moscone Center SF(正确)
怀特豪斯(正确)
mapbox-gl - Mapbox-GL:缩放范围控制
你用什么代码来控制自定义 mapbox.gl 地图的缩放范围,以便当用户缩小和缩小地图时,无论用户的光标/指针在哪里,它总是分别以相同的经度/纬度开始和结束?
现在我有一个 maxZoom 和 minZoom 集,但是当用户缩小和缩小时,它会落在光标所在的位置,而不是地图的起点,这是我希望它放大回来的地方。
javascript - 格式化复杂的嵌套对象
我以前在 gis 论坛(下面的 Alt)上发过帖子,虽然活动很少,所以我在这里试试运气。这也是,从根本上我认为,一个 js 对象数组问题。有许多类似的问题,但我无法获得适用于我必须处理的对象结构的解决方案。
除了注意事项;
问题:获取从嵌套在解析的对象数组中的(未知)数量的对象返回的信息,以便可以以人类可读的方式提取、格式化和显示它们。例如;
我只需要每个“features.layer.id”及其关联的“features.properties”,其键和值是未知的并且在层之间不同(位于 features.properties 的对象)。这些特征位置在 MapBox 中是一致的,因此这里的解决方案应该适用于未来的用户。
当前代码;注释掉的是我尝试访问和显示所需值的分散。'features' elementID 是信息面板。features 是返回的嵌套对象(参见示例)。
concattedjson 当前在第一层标题的第一个字母上产生错误(“意外令牌 N”)。
包含两个“层”的 JSON 示例
- 网站:http ://www.activenaturalist.org.uk/lcren/imap/mb.html (点击时在特征元素中显示特征对象的结构)。
- 类似: mapbox GL 图层有问题; 访问/处理(嵌套)对象、数组或 JSON
- 替代: https ://gis.stackexchange.com/questions/181005/extract-geojson-properties-dynamically-with-mapbox-gl
mapbox-gl-js - 卫星瓦片源不工作
https://www.mapbox.com/mapbox-gl-style-spec/#sources-raster
这导致黑色瓷砖没有错误消息,我不知道为什么?
javascript - Mapbox.GL:滚动放大和缩小到自定义地图框地图上的特定坐标
我已经在我的网站上嵌入了一个自定义 mapbox studio 地图并设置了 minZoom 和 maxZoom 坐标,因此它只缩小到某个缩放级别并放大到某个缩放级别。但是当用户放大时,地图会转到用户放置鼠标指针的位置,这是正确的,但是我希望它放大回到它的起点,而不是用户放置鼠标指针的位置。
这是我找到的最接近的示例,但我不想叙述,我希望用户只在地图上滚动: https ://www.mapbox.com/mapbox-gl-js/example/scroll-fly-至/
如何做到这一点,当用户向下滚动嵌入地图时缩小到一组坐标,当用户向上滚动时,嵌入地图又放大到一组坐标?
});
mapbox - 如何将标记添加到 Mapbox 'Light' 地图样式?
我有一个使用 mapbox-gl.js 的简单应用程序,并使用 geoJSON 添加标记层。如果我使用 Mapbox 的“街道”样式,或者如果我将街道样式复制为我帐户中的自定义样式,这将很有效。
但是,我想使用基于“Light”样式的自定义样式,并且似乎这不包含某些内容图标所需的内容。
我已经将两种样式都下载为 JSON,并换出了sprite
属性,但这并没有什么不同。
我已经尝试从“Streets”风格开始并对其进行调整以使其看起来像我想要的那样,但这很多变化。
我可以在 Mapbox Studio 或 JS 中做些什么来允许绘制标准标记吗?