[Geomoose-users] GeoMoose Mobile OpenLayers Control TouchNavigation

Reynolds, Michael J. (DOT) mike.reynolds at state.mn.us
Wed Jul 27 09:24:03 EDT 2011


I forgot to add...

So far, all our layers appeared correctly accept for one which doesn't pink screen the entire map area, but shows up as broken image tiles in the background.  All other layers show up above this layer.

This same layer appears perfectly on our desktop except in cases when the browser window is stretched beyond a standard screen width which may or may not be a related issue.

Mapbook - Source

<map-source name="esriaerial" type="ags" reference="false">      <url>http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/export</url>
      <layer name="World_Imagery" reference="false"/>
      <param name="FORMAT" value="JPG"/>
</map-source>

Mapbook - Layer

<layer title="ESRI Imagery" src="esriaerial/World_Imagery" status="on" legend="false" />


From: Reynolds, Michael J. (DOT) [mailto:mike.reynolds at state.mn.us]
Sent: Wednesday, July 27, 2011 8:02 AM
To: Geomoose Support
Subject: Re: [Geomoose-users] GeoMoose Mobile OpenLayers Control TouchNavigation

I've found that simply upgrading Openlayers adds better mobile touch capabilities.  The change to the compiled.js was unnecessary (so far).

Testing with an android galaxy tab 10.1 using its standard web browser and wifi:

General observation: everything lays out nicely.  Items intended for clicking are probably about 25-50% too small for fingers but everything does work.  Toolbar icons work, drop down (tool drawer) works and items are selectable, catalog tabs work, services load in tables correctly.  Noticed that the catalog does not have a scroll bar along the right side but the catalog tab contents div supports touch drag scroll capability.

Tools that work:
Back, Forward, Zoom to Full Extent, Search Tools Drawer and Search services

Tools that are not necessary (not sure if they work or not):
Pan (hand), Zoom in/out (magnifying glass), Print

Tools that don't work (they don't seem to activate - standard touch capabilities of the map seem to override tool needs to interactive with the map):
Select, Clear (may work?), Rulers, Sketch tools (seemed selecting the individual sketch tools did not initialize and the drawer hung open, couldn't sketch on the map), any custom tool that required identifying a location on the map did not work.

Catalog worked but the line items are a bit small.  Folders work - open/close.  Layers can be turned on and off.  Tabs can be navigated.

Jump to and Scale tools work.

Map zoom and pan tool works.

Inset open close button works.

Map touch: point-drag-pan, double tap zoom in, pinch zoom out, unpinch zoom in all works.

Because of the way mobile browsers work, double tapping or point dragging any of the non-map portions of the web page can cause the whole page to slide or zoom in and out.

I think getting the identify and identify like tools working is my highest priority need.  Interface button scale and omitting some unnecessary tools is easy html and css.  That would get a barebones working mobile (tablet)  Geomoose.

A larger effort might try to incorporate in slide-in catalog and tool bars (out of my scope of know).  Bob - great suggestions.



From: Reynolds, Michael J. (DOT) [mailto:mike.reynolds at state.mn.us]
Sent: Tuesday, June 28, 2011 3:00 PM
To: Geomoose Support
Subject: [Geomoose-users] GeoMoose Mobile OpenLayers Control TouchNavigation

I was wondering if anyone has created a good Mobile Touch version of Geomoose.  Is there a good way to do this?

I took a quick chop at it.  With a version of Goemoose 2.2. Downloaded the newest OpenLayers 2.11-rc1 to the htdocs folder.

Modified the index.html to load the openlayers.js from this new version's folder.

In the compiled.js file I made the following change:

function configureMap () {
      CONFIGURATION.scales = CONFIGURATION.scales.sort().reverse();

      var options = {
            maxExtent : OpenLayers.Bounds.fromArray(CONFIGURATION.max_extent),
            controls : [new OpenLayers.Control.PanZoomBar(), new OpenLayers.Control.ScaleJumper({target: 'scale-jumper'}), new OpenLayers.Control.TouchNavigation({dragPanOptions: {enableKinetic: true }})],
            units: CONFIGURATION.ground_units,
            projection: new OpenLayers.Projection(CONFIGURATION.projection),
            displayProjection: new OpenLayers.Projection(CONFIGURATION.projection),
            fractionalZoom: CONFIGURATION.fractional_zoom
      }

Specifically I added ", new OpenLayers.Control.TouchNavigation({dragPanOptions: {enableKinetic: true }})" to the controls array.

The site seemed to load up just fine.

The map panel now responds to touch gestures:

Double tap / reverse pinch = zoom in
Pinch = zoom out
Point drag = pan
Zoom to extent tool works.

Some of the navigation tools are not necessary now (magnifying glass, pan?)

The Identify tool does not work.  I think the way I added in the Touch Navigation or the existing geomoose tool management doesn't allow the identify click to override the touch navigation on the map div.

Our goal is to make our Geomoose site compatible with Ipad/Safari devices and Android devices.

I don't know what this breaks.  Does it break anything?

Anyone already pave this ground?


Michael Reynolds
(651) 775-5915
Traffic Engineering - Data Management
MnDot - Metro District
USNG: 15TVK8708484276

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/geomoose-users/attachments/20110727/280ca857/attachment.html


More information about the Geomoose-users mailing list