1
map.on('mousemove', function (e) {
    map.getCanvas().style.cursor = ''
    // Need to check if markers layer is ready to query else 
    // I get Type error the first few seconds when you move the mouse.
    var features = map.queryRenderedFeatures(e.point, {layers: ['markers']})
    if (!features.length) return;
    map.getCanvas().style.cursor = 'pointer'
});

マップのレンダリングが完了したかどうかを確認する方法がわかりません。上記のコードは、マップのレンダリング中にエラーが発生します。

ここに画像の説明を入力

4

1 に答える 1

1

別のstackoverflowマップボックスの質問から回答が見つかりました。

map.on('mousemove', function (e) {
    if (!map.loaded()) return;
    map.getCanvas().style.cursor = ''
    var features = map.queryRenderedFeatures(e.point, {layers: ['markers']})
    if (!features.length) return;
    map.getCanvas().style.cursor = 'pointer'
});

確かではありませんが、代わりに queryRenderedFeatures で mapbox をチェックする必要があると思います。

https://github.com/mapbox/mapbox-gl-js/issues/2614

EDIT:Mapboxはコードを変更し、もはや問題になりません:)

于 2016-05-23T21:31:49.287 に答える