问题标签 [mapbox-gl]
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:滚动放大和缩小到自定义地图框地图上的特定坐标
我已经在我的网站上嵌入了一个自定义 mapbox studio 地图并设置了 minZoom 和 maxZoom 坐标,因此它只缩小到某个缩放级别并放大到某个缩放级别。但是当用户放大时,地图会转到用户放置鼠标指针的位置,这是正确的,但是我希望它放大回到它的起点,而不是用户放置鼠标指针的位置。
这是我找到的最接近的示例,但我不想叙述,我希望用户只在地图上滚动: https ://www.mapbox.com/mapbox-gl-js/example/scroll-fly-至/
如何做到这一点,当用户向下滚动嵌入地图时缩小到一组坐标,当用户向上滚动时,嵌入地图又放大到一组坐标?
});
geoserver - 用于 Mapbox-GL 源的 wmts (GeoTiff)
我正在尝试使用 wmts(来自 GeoTiff 的 GeoServer)作为 Mapbox-GL 源。Mapbox-GL 能够毫无错误地创建源和图层。但是,不会渲染图层,并且永远不会查询 GeoServer 以获取瓦片。
java - 如何将 mapbox-gl-native 项目导入 Android Studio?
我想在 Mapbox-gl-native 项目中运行Mapbox-GL-AndroidSDk-TestApp,但是当我导入 Android Studio 时,它不起作用。这是日志:
开始活动 ComponentInfo{com.mapbox.mapboxsdk.testapp/com.mapbox.mapboxsdk.testapp.MainActivity}:android.view.InflateException:二进制 XML 文件第 32 行:膨胀类 com.mapbox.mapboxsdk.maps.MapView 时出错
引起:android.view.InflateException:二进制 XML 文件第 32 行:膨胀类 com.mapbox.mapboxsdk.maps.MapView 时出错
引起:java.lang.UnsatisfiedLinkError: 无法从加载器 dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.mapbox.mapboxsdk.testapp-1.apk"] 加载 mapbox-gl,nativeLibraryDirectories =[/data/app-lib/com.mapbox.mapboxsdk.testapp-1, /vendor/lib, /system/lib]]]: findLibrary 返回 null
xamarin - 动画标记
我试图了解如何在使用mapbox-gl
. 我实际上正在使用Xamarin
3.2.0.3 java 库的绑定,所以问题可能就在那里。
我正在使用我们可以在 GitHub 页面上找到的示例,主要是这个示例。这个例子说明了一个简单ValueAnimator
的修改 MarkerOptions 对象的 Position 就足以实现一个移动。
我所有移动标记的尝试都失败了:在 MarkerOptions 对象上应用 SetPosition 无效。
我尝试了临时解决方案,例如删除所有标记并重新添加它们。无论是在动画师中,还是在 Update 事件中创建我自己的逻辑。但当然,标记会闪烁,因为对地图的修改并未与线程 UI 完美同步。
在阅读mapbox-gl
项目页面上的源代码示例时,我似乎很清楚Animator
在 MarkerOptions 上使用是一种很好的做法,但无论我尝试做什么,它似乎都失败了。
摘要:_myMarkerOptions.SetPosition(new LatLng(10, 10));
在现有标记上调用只是没有效果。
leaflet - Leaflet 1 beta 2 不适用于 mapbox-gl.js
Leaflet v1.0.0-beta.2 不能与 mapbox-gl.js 一起使用(我已经尝试过 v15 和之前的版本)
或者它是否适用于特定版本的 mapbox-gl.js?
leaflet - 我们可以在没有 mapbox GL 的情况下将传单 1 beta 用于矢量图块吗?
我仍在了解更多关于传单 1 的信息。我浏览了更改日志,看到对矢量进行了很多改进。传单 1 在不使用 Mapbox GL 的情况下是否有自己的矢量瓦片方式?
android - Mapbox Android - 如何绘制带孔的 GeoJSON 多边形
我需要在 Mapbox Android SDK 地图上绘制一个带有孔的 GeoJSON 多边形。
正如GeoJSON 规范所说,
对于“Polygon”类型,“coordinates”成员必须是 LinearRing 坐标数组的数组。对于具有多个环的多边形,第一个必须是外环,其他必须是内环或孔。
在 Leaflet、Mapbox JS 和 Mapbox GL JS 中,加载 GeoJSON 由库本身处理。正如在这个 fiddle中可以看到的,lib 考虑了内环,因此正确地绘制了孔。
当我查看有关绘制多边形的 Android 文档时,没有任何关于孔的信息。他们给出的例子只是对所有点进行循环并用它构建一个 PolyOptions:在 Mapbox Android 中绘制多边形。
我一直在尝试通过添加外环的所有点来构建一个 polyOptions,然后是内环,一个接一个。使用来自 JSFiddle 的简单 geoJSON 它可以工作,但它会造成一个漏洞。但是对于我更复杂的geoJSON,整个渲染都被破坏了(形状看起来不像它应该的样子)。
之后,我尝试为geoJSON的每个环构建一个单独的多边形。当然形状很好,但是没有孔,而是用堆叠的多边形代替了它们。
我一直在寻找PolygonOptions构造函数的其他选项,但只能发送点。我想画所有的多边形,然后减去形状,但我发现没有这样的功能。
这是我的 GeoJSON。它在 mapbox JS 上画得很好。我想知道我的 GeoJSON 是否有问题,但我不这么认为,因为它在 geojson.io 上画得很好。也许我错过了关于 geoJSON 或 mapbox 的一些东西。我没有找到任何有关此的文档。我正在考虑切换到谷歌地图,但这意味着从头开始重新启动整个项目。
任何想法 ?
mapbox - 在 mapbox-gl.js 中突出显示折线特征
我正在尝试使用以下代码突出显示鼠标指针下的功能。
我的 geojson 数据和链接示例中使用的 geojson 数据之间的区别在于,示例由多边形组成,而我的 geojson 由多段线组成。我试图相应地修改代码,以便突出显示行,但它不起作用。我的 geojson 可以在这里访问:
http://iskandarblue.github.io/mapbox/data/prototype2.geojson
关于需要改变什么的任何建议?
示例: https ://www.mapbox.com/mapbox-gl-js/example/hover-styles/
mapbox - Mapbox GL - 我们可以在过滤图层时添加动画吗
我想在图层上应用过滤器时做一些动画。例如,我有 2 层,在某些地理点上绘制了不同半径的圆圈。当我通过使用 setFilter() 设置过滤器从一层切换到另一层时,我希望在圆形不透明度上进行过渡以实现平滑过渡。
请协助
javascript - 在 Mapbox GL JS 中显示和隐藏图层的特征
我发现以下代码可以在 Mapbox GL 中显示和隐藏图层:
https://www.mapbox.com/mapbox-gl-js/example/toggle-layers/
这很有帮助,但是,我只有一个包含所有必要数据的 .geojson 图层(折线),不需要创建单独的图层。
我想制作完全相同的功能,即能够在地图菜单中显示和隐藏一层的特征。共有 12 种不同的特征类型,包含在名为“类型”的列中。我想打开和关闭类型,就像在示例中一样。
有没有一种简单的方法可以在 JS 中使用set.Filter
?
https://github.com/mapbox/mapbox-gl-js/blob/e9386d2880cc2c33e9a5a16b9bcb58834026a078/js/ui/map.js#L559-L562
我一直无法想出解决方案。
我的 .geojson 层在这里: https ://iskandarblue.github.io/mapbox/data/simplify_prototype.geojson