Tengo problemas para utilizar el módulo utfgrid con openlayers. La implementación en el lado de Mapserver es bastante simple, aunque tengo dudas sobre el imagetype :
MAP
IMAGETYPE UTFGRID
SIZE 2000 2000
CONFIG "MS_ERRORFILE" "/ms4w/tmp/ms_error.txt"
#DEBUG 4
EXTENT -176.197 -31.0869 181.47 81.8381
NAME "allexmaple"
PROJECTION
"init=epsg:4326"
END
QUERYMAP
STATUS ON
END
OUTPUTFORMAT
NAME "utfgrid"
DRIVER UTFGRID
MIMETYPE "application/json"
EXTENSION "json"
FORMATOPTION "UTFRESOLUTION=4"
FORMATOPTION "DUPLICATES=false"
END
WEB
IMAGEPATH "tmp/"
IMAGEURL "tmp/"
END
SYMBOL
NAME "mysymbol"
TYPE pixmap
ANCHORPOINT 0.5 0.5
IMAGE "icons/mysymbol.png"
END
LAYER
TOLERANCE 10
CONNECTIONTYPE postgis
NAME "example"
CONNECTION "host=127.0.0.1 dbname=ais_data user=postgres password=admin port=5432"
DATA "geom from mytable using srid=4326"
STATUS ON
TYPE POINT
UTFITEM "id"
UTFDATA "{\"id\":\"[id]\",\"name\":\"[name]\"}"
TEMPLATE 'query.html'
HEADER 'header.html'
FOOTER 'footer.html'
CLASSITEM "ct"
CLASS
EXPRESSION "mysymbol"
STYLE
ANGLE [angle]
SYMBOL 'mysymbol'
END # style
END # class
END
END
En cambio, Openlayers no tiene un ejemplo eficaz. No sé qué proporcionar en mi URL. Esto es lo que he intentado:
var gridSource = new ol.source.TileUTFGrid({
url: 'http://localhost:5000/cgi-bin/mapserv.exe?map=/ms4w/apps/tutorial/htdocs/essai.map&layers=example&tiled=true&mode=map&type=utfgrid&format=application/json'
});
var mySuperLayer = new ol.layer.Tile({
source: gridSource
});
Pero no aparece nada y mi URL se queda en pendiente hasta el tiempo de espera