지도에서 마우스를 클릭하여 좌표를 가져 오려고합니다.Openlayers - 픽셀의 좌표가 올바르지 않음
지도를 스크롤 할 때까지 좌표가 맞습니다. 그 후에 그들은 잘못되었습니다 - 클릭 위치에서 벗어납니다. 줌 레벨을 변경하면지도를 다시 스크롤 할 때까지 다음 좌표가 올바르게 표시됩니다. 나는 왼쪽 상단으로 스크롤이 클릭하면 그것이 나에게 x
및 y
부정적인와 픽셀을 제공하기 때문에
먼저
나는, 잘못된 값getLayerPxFromViewPortPx
수익을 생각했다. 하지만 그것이 작동하는 방식이라고 가정하고
x
및
y
은 레이어 중심에 상대적입니다. 실패 할 수있는 다른 무엇
map.events.register("click", map, function(e){ var opx = map.getLayerPxFromViewPortPx(e.xy) ; var lonlat = map.getLonLatFromPixel(opx); console.log(lonlat) var marker = new OpenLayers.Marker(lonlat); markers.addMarker(marker)
: 여기
내가 가진 무엇인가?
지도 및 레이어 설정을 포함하여 완전한 예를 제공 할 수 있습니까? –
'var lonlat = map.getLonLatFromViewPortPx (e.xy)'로 getLonLatFromPixel()을 변경했는데 이제는 효과가있는 것처럼 보입니다. 그러나 나는 아직도 궁금해하던 이유가 이전에 실패했습니다. 전체 예제에 대해서는 http://dev.ivanatora.info/spirki/에서 찾을 수 있습니다. –