Hi, I've attached a quick'n dirty solution (against master). When applied to mapogroutput.c you can set a JSONP formatoption to the callback name:
OUTPUTFORMAT NAME 'geojson' DRIVER 'OGR/GEOJSON' MIMETYPE 'application/json; subtype=geojson; charset=utf-8' FORMATOPTION 'STORAGE=stream' FORMATOPTION 'FORM=simple' FORMATOPTION 'LCO:COORDINATE_PRECISION=5' FORMATOPTION 'JSONP=%callback%' END This needs of course a WEB.VALIDATION: WEB ... VALIDATION callback '.*' END END Would be great if you can test if this works (looks good to me). The Devs might have a look if this could be integrated into master until OGR has an appropriate layer creation option (solution described by Even). Greetings > -----Ursprüngliche Nachricht----- > Von: mapserver-users-boun...@lists.osgeo.org [mailto:mapserver-users- > boun...@lists.osgeo.org] Im Auftrag von Lars Fricke > Gesendet: Freitag, 9. Januar 2015 11:24 > An: mapserver-users@lists.osgeo.org > Betreff: Re: [mapserver-users] Setting up a JSONP service > > Hello, > > first of all: Thank you for your support! > Sorry for the late reply but I unfortunately was ill. > > @ Steve: > I read about templating but also read that it is slower? > I do not have a lot of experience in writing templates. Would you mind > sharing a JSONP template? > > @ Even: Thank you for your thoughts. Who would implement that change > though? I'm afraid I can't. > > @ Jeff: I followed those links but I only found threads referring to > GeoServer or that were not related to my question. The GDAL page I did > study and that's how I managed to set up the GeoJSON service but thats > not the same unfortunately as it conflicts with the same origin policy. > > Best > > Lars > > Am 30.12.2014 um 16:24 schrieb Lime, Steve D (MNIT): > > You can also use MapServer templates to accomplish this. It's a little > more work since you have to write the template but it's quite flexible > then. Usually I write the template to produce JSON and then use a simple > wrapper template to produce JSONP. For example, jsonp.js looks like > (callback is passed in): > > > > // MapServer Template > > [callback]( > > [include src="templates/json.js"] > > ) > > > > Output formats look like: > > > > OUTPUTFORMAT > > NAME 'JSON' > > DRIVER 'TEMPLATE' > > MIMETYPE 'application/json;' > > FORMATOPTION 'FILE=templates/json.js' > > FORMATOPTION 'ATTACHMENT=service.json' > > END > > > > OUTPUTFORMAT > > NAME 'JSONP' > > DRIVER 'TEMPLATE' > > MIMETYPE 'application/json;' > > FORMATOPTION 'FILE=templates/jsonp.js' > > FORMATOPTION 'ATTACHMENT=service.json' > > END > > > > Steve > > > > -----Original Message----- > > From:mapserver-users-boun...@lists.osgeo.org [mailto:mapserver-users- > boun...@lists.osgeo.org] On Behalf Of Lars Fricke > > Sent: Monday, December 29, 2014 5:34 AM > > To:mapserver-users@lists.osgeo.org > > Subject: [mapserver-users] Setting up a JSONP service > > > > Dear List, > > > > I have a WFS service running under MapServer that I would like to > operate as JSONP service. I managed to set GEOJSON as output format but I > get "Cross-Origin-Request Blocked" if I try to call it with a Javascript > client (using Leaflet L.layerJSON. > > The question is: Is it possible to set up a JSONP service from Mapserver > and if yes, how? My current mapfile looks like this (relevant parts): > > > > " > > # in WEB - METADATA > > "wfs_getfeature_formatlist" "geojson,csv,ogrgml" > > > > OUTPUTFORMAT > > NAME "geojson" > > DRIVER "OGR/GEOJSON" > > MIMETYPE "application/json; subtype=geojson; charset=utf-8" > > FORMATOPTION "STORAGE=stream" > > FORMATOPTION "FORM=SIMPLE" > > FORMATOPTION "LCO:COORDINATE_PRECISION=5" > > END > > " > > If this would already be a correct JSONP service, I have to look on the > Leaflet side for the error... > > Thanks for your help. > > > > Cheers > > > > Lars > > _______________________________________________ > > mapserver-users mailing list > > mapserver-users@lists.osgeo.org > > http://lists.osgeo.org/mailman/listinfo/mapserver-users > > _______________________________________________ > > mapserver-users mailing list > > mapserver-users@lists.osgeo.org > > http://lists.osgeo.org/mailman/listinfo/mapserver-users > > > > _______________________________________________ > mapserver-users mailing list > mapserver-users@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/mapserver-users
jsonp.diff
Description: jsonp.diff
_______________________________________________ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users