Mapbox:如果我们想在地图上显示一条线,是否需要LineLayer
Mapbox: Do we need LineLayer if we want to display a Line on the map
我正在阅读注释插件的文档和示例,但仍然不太了解如何使用线条。
我想创建一条线,需要用额外的坐标经常更新。在 Google 地图中很容易,因为我们声明了一个 Polyline 对象,获取 LatLng 点并设置新的点。基本上,我不会使用大量的定制,只使用线条的宽度和颜色。
那么我们是否需要定义一个层,或者我们可以只使用这种情况下的选项?
第二个问题:(从文档中,我看到了很多使用 FeatureCollection 和 GeoJSON 的示例)这是更新线路的唯一方法吗?
Tldr;有两个主要选项,选择哪条路线基本上取决于您。每次您想更新视线时,您的 LatLng
坐标可用于创建 LineString
/Line
。
您可以使用 LineLayer
:
https://docs.mapbox.com/android/maps/examples/draw-a-geojson-line/
https://docs.mapbox.com/android/maps/examples/create-a-line-layer(在这个例子中,
style.addSource(新的 GeoJsonSource("line-source",
FeatureCollection.fromFeatures(新功能[] {Feature.fromGeometry(
LineString.fromLngLats(路线坐标)
)})));
实际上可以是 style.addSource(new GeoJsonSource("line-source", LineString.fromLngLats(routeCoordinates)));
.
正在更新 LineLayer
正在使用的源的 GeoJSON。每次要更新时创建一个新的LineString
:
参见 GeoJSON 更新部分中的第二个代码块(source.setGeoJson()
,等等):https://docs.mapbox.com/android/java/overview/geojson/#geojson-updates
您可以在注释插件中使用LineManager
:
通过LineManager
更新线路
每次要更新时创建一个新的Line
我正在阅读注释插件的文档和示例,但仍然不太了解如何使用线条。
我想创建一条线,需要用额外的坐标经常更新。在 Google 地图中很容易,因为我们声明了一个 Polyline 对象,获取 LatLng 点并设置新的点。基本上,我不会使用大量的定制,只使用线条的宽度和颜色。
那么我们是否需要定义一个层,或者我们可以只使用这种情况下的选项?
第二个问题:(从文档中,我看到了很多使用 FeatureCollection 和 GeoJSON 的示例)这是更新线路的唯一方法吗?
Tldr;有两个主要选项,选择哪条路线基本上取决于您。每次您想更新视线时,您的 LatLng
坐标可用于创建 LineString
/Line
。
您可以使用 LineLayer
:
https://docs.mapbox.com/android/maps/examples/draw-a-geojson-line/
https://docs.mapbox.com/android/maps/examples/create-a-line-layer(在这个例子中,
style.addSource(新的 GeoJsonSource("line-source", FeatureCollection.fromFeatures(新功能[] {Feature.fromGeometry( LineString.fromLngLats(路线坐标) )})));
实际上可以是 style.addSource(new GeoJsonSource("line-source", LineString.fromLngLats(routeCoordinates)));
.
正在更新 LineLayer
正在使用的源的 GeoJSON。每次要更新时创建一个新的LineString
:
参见 GeoJSON 更新部分中的第二个代码块(source.setGeoJson()
,等等):https://docs.mapbox.com/android/java/overview/geojson/#geojson-updates
您可以在注释插件中使用LineManager
:
通过LineManager
每次要更新时创建一个新的Line