Chromeの最近のアップデート(少なくともMacでは)によってwindow.PointerEvent
の実装が変更されたようです。 これにより、現在のバージョンのLeaflet(1.0.2)は、ブラウザーをタッチデバイスと誤診し、 leaflet-touch
クラスを追加します。
この行が原因のようです:
pointer = window.PointerEvent || msPointer
...ここで見つけることができます: https ://github.com/Leaflet/Leaflet/blob/v1.0.2/src/core/Browser.js#L33
問題は、 window.PointerEvent
が関数であり、常に「truthy」を返すことです。
leaflet-touch
クラスが適用されているため、ズームイン/ズームアウトボタンが拡大されています。これも再現できます...
https://github.com/Leaflet/Leaflet/issues/3944の複製。 ブラウザがタッチスクリーンを備えたコンピュータで実行されているかどうかを知る方法はありません。ブラウザがタッチ/ポインタイベントをサポートしているかどうかを知ることしかできません。 http://www.stucox.com/blog/you-cant-detect-a-touchscreen/も参照してください。
では、タッチを正確に検出できない場合、タッチを検出するポイントは何ですか? それでは、そのロジック全体をリーフレットから削除するべきではありませんか?
最も参考になるコメント
では、タッチを正確に検出できない場合、タッチを検出するポイントは何ですか? それでは、そのロジック全体をリーフレットから削除するべきではありませんか?