Во-первых, ответ.Ваш код кажется правильным, однако некоторая подстройка, похоже, устраняет ошибку.
const plot_position_layer = new ScatterplotLayer({
id: 'scatterplot-layer',
data,
pickable: true,
opacity: 0.8,
radiusScale: 30, // make the dots visible or darker background
radiusMinPixels: 15, // make the dots visible or darker background
radiusMaxPixels: 100,
getPosition: d => [d.coordinates[1], d.coordinates[0]], // -> Essential Change here
getColor: d => [255, 255, 255], // make the dots visible or darker background
})
Теперь, по сути, изменилось: getPosition: d => [d.coordinates[1], d.coordinates[0]]
Странно,Ожидается, что функция getPosition будет возвращать массив с первым элементом в качестве долготы вместо широты, поэтому точки выходят за границы.
Имеютпосмотрите на их пример здесь в строке № 11.
// Source data CSV
const DATA_URL =
'https://raw.githubusercontent.com/uber-common/deck.gl-data/master/examples/scatterplot/manhattan.json'; // eslint-disable-line
export const INITIAL_VIEW_STATE = {
longitude: -74, //remember, longitude starts with 74
latitude: 40.7,
zoom: 11,
maxZoom: 16,
pitch: 0,
bearing: 0
};
и DATA_URL
читается как
[
[-73.986022,40.730743,2], // the first element is longitude
[-73.984293,40.729468,1],
[-73.987752,40.732017,1],
[-73.986887,40.730105,2],
...
]
Надеюсь, это поможет