マップボックスGLマップには、単一のレイヤーとそのレイヤーに複数のマーカーがあり、特定のマーカーを更新しようとしていますので、setDataを使用してマーカーを1つだけ更新しますsetDataは、レイヤーマーカー全体をリセットして、レイヤー全体の単一マーカーとして更新しようとしているものだけを追加し、すべての古いマーカーを削除します。私の下に示すようにGeoJSONオブジェクトの配列としてにGeoJSON形式で複数のマーカーを追加しようとすることでMapbox GL setDataで複数のマーカーでレイヤーを更新する
は、エラーを取得する:
Uncaught Error: Input data is not a valid GeoJSON object.
コード:誰か場合
map.getSource('cafespots').setData([{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [31.331849098205566, 30.095422632059062]
},
"properties": {
"marker-symbol": "cafe"
}
},{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [31.39, 30.10]
},
"properties": {
"marker-symbol": "cafe"
}
}]);
はあまりそれを感謝します