[OpenLayers-Dev] preliminary UTFGrid support in OpenLayers
Tim Schaub
tschaub at opengeo.org
Sat Feb 25 18:35:34 EST 2012
Hey Matt,
Thanks for this great contribution. It's been high on my list of
desires to get UTFGrid support into OpenLayers, and it looks like you
have done a nice job of it.
After a quick preliminary review, I do have a few comments. First,
we'll need some tests to go along with this addition. Beyond that,
I've got some suggestions about the layer API that I hope you'll be
amenable to. I think it would make sense to provide a method on the
layer to get attribute data for a map location. This functionality is
currently in the control, but can see situations where it would be
useful to access this and awkward to have to add a control. I'll
provide a pull request for this and some additional tweaks. Note that
my pull request will look a lot smaller if you merge the latest master
into your utfgrid branch.
In addition, I'd like to add support for highlighting regions in the
grid. I've got a plan for doing this, and while I don't want to hold
up inclusion of the existing functionality, I do think the highlight
functionality might inform a bit more how things could be structured.
I'll leave more comments on your pull request.
Tim
On Thu, Feb 16, 2012 at 12:08 PM, Matt Perry <perrygeo at gmail.com> wrote:
> Hey all - I'm excited to share my implementation of OpenLayers support
> for UTFGrids. I wanted to get some feedback before doing a pull
> request.
>
> Just a little background: UTFGrids are json "hit grids" used to
> provide a high degree of interactivity. For example, you can have
> mouseover events that display the attributes of the features *without*
> fetching additional data from the server. The best demo of the concept
> is probably http://mapbox.com/demo/visiblemap/.
>
> This functionality exists in the wax library and is largely deployed
> with ModestMaps. I've ported it to native OpenLayers code to better
> integrate with OL event handlers and such. There are three additional
> components: a UTFGrid Layer, Control and Tile. It has both ajax and
> jsonp loading protocols, tries to keep a clear separation between the
> grid layers, the grid controls and callbacks which allows things like
> multiple handlers and multiple hit grids per map.
>
> Some example code:
> var world_utfgrid = new OpenLayers.Layer.UTFGrid(
> 'UTFGrid Layer',
> "http://tiles.example.com/world_utfgrid/${z}/${x}/${y}.json"
> );
> map.addLayer(world_utfgrid);
>
> var control = new OpenLayers.Control.UTFGrid({
> 'div': 'attrsdiv',
> 'layers': [world_utfgrid],
> 'handlerMode': 'move'
> })
> map.addControl(control);
>
>
> Some demos:
> http://labs.ecotrust.org/utfgrid/events.html
> http://labs.ecotrust.org/utfgrid/multi.html
>
> and source:
> https://github.com/perrygeo/openlayers/tree/utfgrid
>
> Any thoughts on getting this into 2.12? This is my first substantial
> effort in extending OpenLayers so if you have any critiques or
> concerns that need to be addressed before a pull request would be
> considered, let me know.
> --
> ·´¯`·.¸. , . .·´¯`·.. ><((((º>`·.¸¸.·´¯`·.¸.·´¯`·...¸><((((º>
> "The best way to predict the future is to invent it." -- Alan Kay
> Matthew T. Perry
> http://www.perrygeo.net
> http://viedevelo.wordpress.com
> _______________________________________________
> Dev mailing list
> Dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/openlayers-dev
--
Tim Schaub
OpenGeo http://opengeo.org/
Expert service straight from the developers.
More information about the Dev
mailing list