キャンバスレイヤーでは、特定のタイルのクリックされたピクセルにどのようにアクセスできますか? { lat: 37.68816, lng: -119.76196 }
のようなLatLngが与えられた場合、どのようにすればいいですか:#1、正しいタイルをクリックして取り出し、#2、タイル内のピクセル座標を取得できますか?これらの両方とも、maxNativeZoom
を考慮する必要があります。プロジェクトリーフレットLatLngをピクセル座標に変換する
4
A
答えて
5
L.CRS.EPSG3857
のようなCRSが必要です。地図のCRSはmap.options.crs
でアクセスできます。真ズーム、タイルサイズ(256のような、しかしmaxNativeZoom
約512以上とすることができる)とmap.getPixelOrigin()
等ピクセル原点が必要とされる:
const latlngToTilePixel = (latlng, crs, zoom, tileSize, pixelOrigin) => {
const layerPoint = crs.latLngToPoint(latlng, zoom).floor()
const tile = layerPoint.divideBy(tileSize).floor()
const tileCorner = tile.multiplyBy(tileSize).subtract(pixelOrigin)
const tilePixel = layerPoint.subtract(pixelOrigin).subtract(tileCorner)
return [tile, tilePixel]
}
まず、latlng
層ポイントに変換します。これで、すべての単位がピクセル単位になりました。
次に、tileSize
で割り、小数点以下を切り捨てます。これは、タイル "滑りやすい"座標を与える。
第3に、tileSize
を掛けて、タイルコーナーのピクセル座標を取得し、pixelOrigin
に調整します。
最後に、タイルピクセルを取得するには、原点とタイルコーナーからレイヤーポイントを減算します。
関連する問題
- 1. ピクセルをLatLng座標に変換するgoogle静止画像
- 2. カメラの座標をピクセル座標に変換するopencv
- 3. ピクセルへのタイル座標を地理座標に変換する
- 4. ピクセル座標をワールド座標に変換する方法は?
- 5. OpenCv2でピクセル座標をワールド座標に変換する
- 6. LatLngから絶対ピクセル座標を取得
- 7. JavaScriptを使用してテキストをピクセル座標に変換する
- 8. グラフの座標をピクセルに変換する
- 9. OpenLayers 3ピクセル座標を緯度に変換する
- 10. Googleマップの座標をピクセルに変換する
- 11. GLSLテクスチャ座標を絶対ピクセルに変換しますか?
- 12. 座標変換
- 13. スクリーン座標にピクセル座標を適用する
- 14. ピクセルに変換された回転緯度、長い座標
- 15. Opencv map固定カメラ位置を使用して2Dピクセル座標を3Dワールド座標に変換する
- 16. コンテナの座標空間から子の座標に座標を変換する
- 17. 経度と緯度の座標をマップの画像ピクセルXとYの座標に変換するJava
- 18. イメージ座標をデカルト座標に変換する方法
- 19. マウスリスナーの座標をグラフの座標に変換する
- 20. 画面座標をシーン座標に変換する方法
- 21. ローカル座標をグローバル座標に変換する
- 22. MKMapkit XY座標を緯度座標に変換する
- 23. kinect v2の座標を別の座標に変換する
- 24. 座標ETRS89/LCCをWGS84 Lat座標に変換する
- 25. UIImageViewタッチ座標をUIImage座標に変換する
- 26. GPS座標をGoogleマップに変換する方法座標
- 27. OpenGLキャンバス座標をHTML5キャンバス座標に変換する
- 28. Python:Pymouseの座標をカメの座標に変換する方法
- 29. ローカル座標をワールド座標に変換する式
- 30. デカルト座標を極座標に変換する - Matlab
リーフレットのチュートリアル、特に「リーフレットを拡張して新しいレイヤーを作成する」(http://leafletjs.com/examples/extending/extending-2-layers.html)のチュートリアルを読んでください。そこにはピクセル座標とピクセル原点の概念が長さで説明されています。 – IvanSanchez