Көбірек

Leaflet ішіндегі қате Y контейнер нүктесін қайтаратын оқиғаны басыңыз?

Leaflet ішіндегі қате Y контейнер нүктесін қайтаратын оқиғаны басыңыз?


Мен өз веб -сайтымда геотифтерді көрсету үшін QGIS Server мен Leaflet қолданамын. Мен QGIS серверіне GetFeatureInfo сұранысын қолданатын onMapClick функциясын жасадым, ол қалқымалы терезеде геотифтің мәнін қайтарады. Функция келесідей көрінеді:

қалқымалы = жаңа L.Popup ({maxWidth: 400}); onMapClick функциясы (e) {var BBOX = map.getBounds (). toBBoxString (); var WIDTH = map.getSize (). x; var HEIGHT = map.getSize (). y; var X = map.layerPointToContainerPoint (e.layerPoint) .x.toFixed (0); var Y = map.layerPointToContainerPoint (e.layerPoint) .y.toFixed (0); var alayer = 'Ppt%20ElW%20 (мм)'; var gfURL = URL + '? SERVICE = WMS & VERSION = 1.1.1 & REQUEST = GetFeatureInfo & LAYERS =' + alayer + '&' + 'BBOX =' + BBOX + '& HEIGHT =' + HEIGHT + '& WIDTH =' + WIDTH + '& FORMAT = сурет %2Fpng & ' +' INFO_FORMAT = мәтін%2Fhtml & X = ' + X2 +' & Y = ' + Y2 +' & CRS = EPSG: 4326 & QUERY_LAYERS = ' + алейер; $ .ajax ({url: gfURL, dataType: «html», түрі: «GET», сәттілік: функция (деректер) {popup.setContent (деректер); popup.setLatLng (e.latlng); map.openPopup (қалқымалы) ;}}); }; map.on ('шерту', onMapClick);

Неге екені белгісіз, Y есептелген мән шамалы дәл емес. Ол жақын, бірақ геотиф тор торшаларымен толық сәйкес келмейді. Бұл сайтты қолдануға тырысқанда анық болады. Дәлсіздік масштаб деңгейіне байланысты өзгереді. Мен мұны бірнеше апта бойы шешуге тырыстым, бірақ ешқайда бара алмайтын сияқтымын.


Сіз оны алып тастауыңыз керекТұрақты (0)соңындағы функцияvar XжәнеY, немесе, кем дегенде, сіз 6 немесе 8 сияқты әлдеқайда үлкен аргумент қоюыңыз керек. Бұл әдіс «санды ондық бөлшектерді сақтай отырып, жолға түрлендіреді», сондықтан аргумент ретінде берілген ондық саны сіздің мәндердің дәлдігін анықтайды. .


Бейнені қараңыз: Типы контейнеров - Types of