问题标签 [react-native-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 - 你如何将来自服务器的普通地理 json 转换为 geoJson?
我有一个带有普通 json 格式地理数据的服务器,我需要将其更改为 geojson 格式,以便 Mapbox 可以读取它。你怎么做到这一点?
例如,如何转换:
进入这个:
react-native - 无法更改 MapView 或相机上的俯仰值
我刚刚从 react-native-maps-osmdroid 切换到 react-native-mapbox-gl 并没有成功改变音调。
我尝试以不同的方式设置音高:
- 直接在 MapView 组件
上 - 在带有道具“pitch”和“followPitch”
的相机组件上 - 在带有道具“defaultSettings”的相机组件上 - 在相机上
使用参考并调用 this.camera.setCamera ()
然而,这些方法似乎都不起作用,我成功改变音高的唯一方法是用三指应用程序。
无论我如何改变音高但地图都不会改变,都没有错误消息。有人知道如何以编程方式改变音高吗?
javascript - 如何使用 React-Native 使用 Mapbox 的 ShapeSource 和 Circle 层显示动态检索的 GeoJSON
我成功地从我的 API 中检索了一组功能,当我将它们输出到例如控制台时,它会是这样的:
这些特性中有多个是从我的 API 中检索出来的,并存储在 state 中。目前检索到的最大特征量在 0 到 50 个特征之间。所以我猜这不是需要渲染太多功能的问题。
在下面链接的项目 GitHub 页面上找到了一个示例,该示例执行了类似的操作,但他们使用的是 url 而不是我正在使用的形状属性。哪个应该能够根据文档进行尝试。
示例链接: https ://github.com/react-native-mapbox-gl/maps/blob/master/example/src/examples/EarthQuakes.js
链接到文档: https ://github.com/react-native-mapbox-gl/maps/blob/master/docs/ShapeSource.md
我还尝试了在这篇 SO 帖子中找到的几种解决方案: 如何将来自服务器的普通地理 json 转换为 geoJson?
目前我的渲染方法看起来像下面提供的那样:
所有代码在 android 和 iOS 上都可以正常编译,控制台或模拟器中都没有错误。预期结果是使用添加到状态的特征在地图上渲染圆圈
react-native - Mapbox CustomCSS 样式转换为 GL 样式:海盗、铅笔
我曾经一起工作react-leaflet
来构建地图,现在我在一个react-native
我使用的项目中@react-native-mapbox-gl/maps
.
有了react-leaflet
,我可以使用一些光栅图块url,例如https://api.mapbox.com/v4/{mapbox_id}/{z}/{x}/{y}.png?access_token={access_token}
它允许我使用一些mapbox_id
s,例如mapbox.pirates
,mapbox.pencil
或其他非常酷的可用的。
@react-native-mapbox-gl/maps
例如,需要一个看起来像 的styleURL mapbox://styles/mapbox/streets-v11
。
似乎使用光栅图块 url 不是我们可以在样式中做的事情。有人知道使用老式地图的方法吗?或者是否存在具有旧样式的开源地图?我没有看到,也许它隐藏在某个地方?
我可以找到使用 Mapbox Studio Classic 为 Pirates 样式创建的 Mapbox Style,但它是用 CartoCSS 编写的,并且与新版本的 Mapbox Studio 不兼容,需要完全重新编写样式。有谁知道初学者在几分钟/几小时内而不是几天内重写风格的好方法?或者之前有没有人做过这项工作,并在某个地方开源?
谢谢 !
react-native-mapbox-gl - react-native Mapbox地图上的指南针位置
是否可以在 React-Native Mapbox GL 中更改指南针的位置?它目前默认为右上角,我一直在尝试找到如何将其移动到左上角。
javascript - React Native 使用 RNFS 加载和显示存储在设备上的 Mapbox 图标
目前我正在尝试实现一种使用 React-Native 在存储在用户设备上的 Mapbox 地图上显示自定义图标的方法。我认为这里找到的示例(ShapeSourceIcon 示例为官方文档作为起点。
所以按照这个例子我来到了下面的渲染方法:
下面是代表 shapesource 中使用的变量的特征集合。与上面链接中的修改相比,它有一些小的修改。
示例样式如下所示:
而 exampleIcon 变量现在只是导入到项目中的一个简单 png。这实际上会根据 featureCollection 在指定位置显示图标。下一步是让我使用 RNFS (React Native File Storage) 加载文件,这样做如下:
然后,上面的代码将替换渲染方法的 MapboxGL.Images 部分中的 exampleIcon。这将不再在地图上显示图标。所以我在想可能不可能显示这样的图像,但作为一种冰雹玛丽,我决定做以下事情:
这将再次在地图上显示图标,所以我认为必须可以根据其中一种策略显示动态图标,但我不再确定,文档对我的特殊情况没有任何帮助。
android - 无法在单个配置中同时重置俯仰、航向、边界、中心坐标
当我尝试在单个配置中设置相机的俯仰、航向、边界和中心坐标时,我遇到了这个奇怪的问题。
最初,这是我拥有的相机的配置 -
间距:0
标题:0
bounds:一些坐标边界
中心坐标:空
这些值通过 props 传递给相机,如下所示 -
在某些外部事件上,我收到一组航点,我想更新俯仰和航向,并将相机聚焦在每个外部事件的每个航点上(例如单击下一个/上一个按钮)。所以我做以下 -
我的相机正确地更新了俯仰,航向,删除了默认边界并立即正确地聚焦到中心坐标。
当我尝试将相机“重置”到默认阶段时出现问题 - 重置俯仰、航向、清除 centerCoordinate 并使用 setState 设置一些边界 -
当我这样做时,相机没有正确重置到默认位置 - 俯仰和航向没有重置(采用旧的)并且边界也没有正确设置。
当我尝试先设置音高和航向时,添加一些超时然后设置界限,它可以工作,但不能单打。我做错了什么还是这是一个已知的错误?
当地图框完成加载时,即触发 onDidFinishLoadingMap 事件时,我正在执行所有这些操作。
我也尝试使用setCamera(cameraConfig)
函数而不是状态方法,但得到了相同的结果。
平台:安卓、IOS
版本:7.0.0-rc3
RN 版本 - 0.59.10
react-native - iOS 的分发代码签名 Mapbox.framework 失败
签署应用程序时,我在将应用程序上传到应用程序商店时遇到问题。我得到代码签名“Mapbox.framework”失败。
我已经按照此处的说明设置了构建阶段https://github.com/react-native-mapbox-gl/maps/blob/master/ios/install.md。检查了日志,一切看起来都很好。
这是代码设计日志:
这就是问题出现的地方。分发日志:
如果其他人有同样的问题,请告诉我你是如何解决的。谢谢。
react-native - 反应原生转弯导航
我们与 expo 合作并使用 mapview,但是,反应原生地图有很多限制,因为我们计划实现转弯导航。集成 Mapbox 本来是最好的选择,但是我们认为退出项目并不是最好的选择,因为 expo 仍然不支持 Mapbox。虽然,我遇到了一个包,反应原生地图导航,但我想知道是否有人能够在他们的项目中成功实现它并且它运行正常,并且还知道它是否有任何缺点。我问这个是因为作者说“请注意,这个模块是可用的,但仍在大量开发中。某些属性和/或组件名称可能会更改,恕不另行通知。” 请提出您的建议和意见。谢谢
react-native - 如何使用 react native mapbox 从集群中获取叶子?
目前我正在做一个需要我使用 react-native 的项目。考虑到 Mapbox Android SDK 的处理方式,我面临的问题似乎很简单。情况如下:
我正在显示一个全屏地图,其中包含一些用于缩放和以用户位置为中心的按钮。在这张地图上有几个“兴趣点”。目前,我正在使用 ShapeSource 对数据进行聚类,使用 SymbolLayer 对单个数据进行聚类,将 SymbolLayer 对聚类的“兴趣点”进行聚类。
我想要实现的是访问我点击的集群之一的所有叶子。在 Android SDK 中,这可以使用以下代码来实现:
然后我会遍历所有特征并像这样得到簇叶
那么集合变量将是一个 FeatureCollection,它包含一个集群中包含的所有特征或叶子。
浏览文档,我在 React Native Mapbox 变体中找不到类似的东西。所以我想知道这里是否有人能够找到解决方案。或者,也许我忽略了示例或文档中的某些内容。