MigrationLayer
Example
Example Source Code
tsx
import React, { useEffect, useRef, useState } from 'react'
import ReactDOM from 'react-dom'
import { MbMap, MbTiandituLayer } from '@mapbox-react/core'
import { MbArcLayer } from '@mapbox-react/deck-layers'
import { MbMigrationLayer } from '@mapbox-react/effect-layers'
const App = () => {
const [mapCenter] = useState([116, 39])
const [zoom, setZoom] = useState(3)
const [pitch, setPitch] = useState(60)
const mapInst = useRef<any>()
const [data, setData] = useState<any[]>([])
const [width, setWidth] = useState(3)
function getRandomArbitrary(min: number, max: number) {
return Math.random() * (max - min) + min
}
const loadData = () => {
const temp: any[] = []
for (let i = 0; i < 100; i++) {
temp.push({
to: [getRandomArbitrary(100, 132), getRandomArbitrary(25, 50)],
})
}
setData(temp)
}
useEffect(() => {
loadData()
}, [])
return (
<div className="map-wrapper">
<MbMap ref={mapInst} center={mapCenter} zoom={zoom} pitch={pitch}>
<MbArcLayer
data={data}
sourcePosition={[116, 39]}
targetPosition={(d) => d.to}
width={width}
height={0.8}
sourceColor="rgb(255, 0, 128)"
targetColor="rgb(0, 200, 255)"
/>
<MbMigrationLayer
data={data}
sourcePosition={[116, 39]}
targetPosition={(d) => d.to}
width={width}
height={0.8}
sourceColor="#fff"
targetColor="#fff"
trailLength={5}
/>
</MbMap>
</div>
)
}
ReactDOM.render(<App />, document.querySelector('#root'))
API
PROPS
Name | Description | Type | Default |
---|---|---|---|
id | Layer ID | string | - |
trailLength | Length of the trail (e.g., in number of segments, time units, or distance). | number | 5 |
data | Source data for the layer. | string / IndexAny / AnyArr / Promise<any> | '' |
show | Whether the layer is visible. | boolean | true |
opacity | The opacity of the layer (0-1). | number | 1 |
pickable | Whether the layer responds to mouse events. If false , the component will not emit mouse-related events. | boolean | false |
autoHighlight | When this property is true and pickable is also true , the hovered object will be highlighted. | boolean | false |
highlightColor | The color to blend with the original color of the highlighted object. | string / number[] | [255, 255, 128, 1] |
highlightedObjectIndex | The index of the currently highlighted element. | number | -1 |
onDataLoad | Callback function invoked after data loading is complete. | AnyFunc | - |
dataTransform | Function to transform the data before rendering. | AnyFunc | - |
transitions | Transition settings for the layer. | IndexAny | {} |
sourcePosition | Source position. | AnyArr / AnyFunc | - |
targetPosition | Target position. | AnyArr / AnyFunc | - |
sourceColor | Source color. | string / AnyFunc | 'black' |
targetColor | Target color. | string / AnyFunc | 'black' |
width | Width. | number / AnyNumberFunc | 1 |
EVENTS
Name | Description | Parameters |
---|
METHODS
Name | Description | Definition |
---|