Leaflet 跟踪传单中的像素坐标

Leaflet 跟踪传单中的像素坐标,leaflet,Leaflet,我试图建立一个360度全景图片与OSM地图使用传单Vt。 我需要一个函数,该函数在移动(即平移/拖动)地图和缩放地图时,返回点/标记相对于原始像素(地图容器左上角)的像素坐标 有什么建议/提示吗?来自宣传单API: // @method containerPointToLayerPoint(point: Point): Point // Given a pixel coordinate relative to the map container, returns the correspondin

我试图建立一个360度全景图片与OSM地图使用传单Vt。 我需要一个函数,该函数在移动(即平移/拖动)地图和缩放地图时,返回点/标记相对于原始像素(地图容器左上角)的像素坐标

有什么建议/提示吗?

来自宣传单API:

// @method containerPointToLayerPoint(point: Point): Point
// Given a pixel coordinate relative to the map container, returns the corresponding
// pixel coordinate relative to the [origin pixel](#map-getpixelorigin).

containerPointToLayerPoint: function (point) {
   return toPoint(point).subtract(this._getMapPanePos());
},

这就是您要找的吗?

谢谢@sasha-dev。也许是latLngToContainerPoint(latlng),它返回一个带有latlng输入的点。在平移/缩放/拖动地图时,我需要一个相对于原点像素的x,y坐标。我几乎没有JS方面的能力,甚至连最基本的简单东西都很难理解:VarX=;变量y=。。。。。;你能提供代码行吗?先谢谢你。Giuseppe@guiseppe好的,我想你想用的是
项目
。如果像素原点是
map.getPixelOrigination()
,则可以使用
map.project(latLng)
计算地图上项目相对于该原点的像素坐标。此方法也可以通过向其传递缩放参数来计算缩放:
map.project(latLng,map.getZoom())
平移/拖动地图实际上不会更新原始像素!它仅在缩放时更新。为了在平移后更新它而不必更改缩放-您需要手动计算新的topleft贴图:
JS var topleft=this.\u getNewPixelOrigin(map.getCenter(),map.getZoom())
并调用
JS map.project(latLng,map.getZoom())。\u subtract(左上角)我用它来调试我的传单插件的像素源概念:@sashadev,谢谢。是的,我也试过了。实际上,latLngToContainerPoint(latlng)是有效的,即它返回x,y坐标,同时“移动”map.on以进行平移/拖动和缩放。