Beta 1 released!

Over 120 commits and five months after the release of alpha 4, jQuery Geo is now feature complete with what we planned for version 1.0!

New interaction engine

User interaction is a big part of an interactive map widget, obviously!, and in beta 1 we have optimized panning, zooming, and how they work together. Your maps should feel more responsive overall.

Wicked fast mobile

Using CSS3 features on modern mobile devices brings tremendous speed improvements to iOS and Android.

New default map

Probably the most noticable change, jQuery Geo is still using OpenStreetMap data by default but in the form of tiles rendered by mapquest open. It’s your same open data but the servers are faster and the cartography is nicer.

New build environment

jQuery Geo now builds with grunt from Ben Alman making it 100% lint free, smaller, and supporting the next generation of the jQuery Plugins website.

Drag modes

There is a whole new mode style called drag. Previously, draw modes such as drawPoint and drawPolygon, allow the user to perform individual clicks or taps to create shapes. New modes have been added that trigger shape events on a single motion: dragBox and dragCircle. They disable map panning and allow quick digitization of rectangles and circles, great for spatial queries and selecting! They both send GeoJSON Polygon objects as the geo argument to your shape event handler.

Load events

Two new events, loadstart and loadend, allow you to display indicators or give feedback to users while map tiles or other images are downloading.

Forcing refresh

Sometimes you have time-dependent, continuously updated data and images coming from a map server. New arguments to refresh allow you to get updated images even if the map’s viewport (and thus, image URLs) hasn’t changed. You can also refresh only specific services that you know will have changed, leaving other more static images in place.

Zoom level constraints

Whether you have a tiled or non-tiled (all shingled) map, you can now limit how far in and/or out a user can zoom with the new zoomMax and zoomMin options.


There is one, small breaking change in how all template strings are processed. This is due to a change (and finalization in the API) to jsRender, which jQuery Geo uses for a service’s src template strings and measureLabels template strings. In short, use {{:variable}} where you used to use {{=variable}}. You can read more about this change on Boris Moore’s blog post:


Thanks for checking out jQuery Geo! We hope you find it useful and will keep you updated as we press on to a 1.0 release!

Here’s the full changelog:

  • geographics – use canvas compositing for Polygons with holes
  • geographics – [bug] on polygons with holes, stroke draws a line from exterior ring to interior one
  • docs – geomap – trigger a shape event when a user finishes measuring
  • geomap – trigger a shape event when a user finishes measuring
  • geomap – [bug] elements inside the map div lose their position setting
  • geomap – trigger bboxchange when we update the map size after the window resizes
  • geomap – [bug] multiple map widgets share the same compiled measureLabels template names and overwrite each other
  • examples – inset map/multiple maps example
  • geomap – [bug] in zoom mode, dragging from bottom-right to top-left draws box but doesn’t zoom
  • geomap – [bug] any mouse down triggers refresh, even without pan
  • cdn – fix caching ** Cache-Control header max-age set to 5 years ** remove Expires header
  • geomap – upgrade to jsrender 1.0pre
  • deploy – build releases using grunt
  • deploy – make a package for new jQuery plugin directory **
  • deploy – lint JavaScript files
  • docs – geomap – dragBbox mode
  • docs – geo – polygonize function for bbox
  • geo – polygonize function for bbox
  • geomap – dragBbox mode
  • docs – geomap – shift option (default, zoom, dragBbox, off)
  • geomap – shift option (default, zoom, dragBbox, off)
  • docs – geomap – loadstart, loadend events
  • docs – geomap – allow append to take an array of shapes
  • docs – geomap – allow remove to take an array of shapes
  • docs – geomap – improve services option documentation
  • geomap – clamp measure labels to [0, 0]
  • geo – clamp centroid to bbox
  • geomap – measure label for polygon should be in centroid
  • geomap – merge interactive pan and zoom into one, faster system (pan/zoom rewrite)
  • geomap – [bug] iOS – panning is visually jumpy but settles on the correct bbox in the end
  • geomap – pinch-zoom doesn’t follow user’s fingers close enough when scaling
  • geomap – [bug] pinch zoom on iPad 2 (iOS 5) doesn’t refresh tiles when zooming out
  • geomap – request new image in shingled service during interactive pan
  • geomap – [bug] zoom in more than once with zoom method moves tiles to the wrong spot
  • geomap – [bug] only services that have finished refreshing move when the user pans
  • geomap – [bug] map panning is jumpy, appears to be related to shapes and/or drawing context
  • geomap – [bug] pan sometimes lags on first drag
  • geomap – tiled data-scaleOrigin should be stored as an array
  • geomap – android – [bug] cannot always pan map after appending shapes
  • geomap – android – browser stops pan/zoom after 7 logos on logo demo
  • geomap – [bug] mouse wheel on bad or missing tile doesn’t zoom out on first rotate
  • geomap – increase mobile performance by 9000
  • docs – geomap – add argument to refresh to force reload of images for dynamic data
  • docs – geomap – allow service-level refresh
  • docs – geomap – zoomMax option (tiled & shingled)
  • docs – geo – include method for bbox
  • geomap – bboxMax should reset center & pixelSize
  • geomap – [bug] initializing center, zoom, & bbox doesn’t set all properties
  • geo – [bug] polygonize doesn’t return valid polygon when using geodetic coordinates
  • geomap – [bug] dragBbox doesn’t include the bbox property in the shape
  • geomap – dragBbox should send a Point (with bbox) for single clicks
  • docs – geomap – dragCircle mode
  • geo – include method for bbox
  • geomap – dragCircle mode
  • geomap – [regression] refresh & toggle methods no longer keep original service objects in sync
  • geomap – [bug] when a singled image hasn’t loaded after pan and you double click on empty space, the zoomed bbox seems wrong
  • geomap – allow service-level refresh
  • geographics – remove the blit canvas from the DOM, i.e., don’t attach
  • geomap – don’t initialze service-level geographics until they’re used
  • geomap – add argument to refresh to force reload of images (in case of dynamic data)
  • geomap – loadstart, loadend events
  • geomap – allow append to take an array of shapes
  • geomap – allow remove to take an array of shapes
  • geomap – zoomMax option
  • geomap – [bug] cannot interact with other elements on the page on iOS after panning the map (#71)
  • geomap – iOS – [bug] after one finger is removed, stop processing as if multitouch is still on
  • geomap – dumb high-precision mice down on tiled maps ** otherwise, the high precision rounds down to zero change in zoom
  • geomap – use linear distance for pinch zoom calculation
  • docs – geomap – zoomMin option
  • geomap – zoomMin option
  • docs – geomap – use MapQuest Open by default; can’t deny that it looks much nicer
  • geomap – use MapQuest Open by default; can’t deny that it looks much nicer
  • docs – geomap – rename dragBbox to dragBox
  • geomap – rename dragBbox to dragBox
  • geomap – [bug] error using tiled deferred services
About Author: ryanttb

Comments are closed.