This is the right way to do it. Because of how we have to handle touch events,
if you want to handle clicks on touch devices, you're best off using the click
handler.

-- Chris

On Jul 17, 2011, at 6:48 PM, ext Richard Greenwood wrote:

> On Sun, Jul 17, 2011 at 4:41 PM, Christian Spanring <[email protected]> 
> wrote:
>> Hi,
>> 
>> I'm having problems with a 'click' event in mobile browsers. A 'click'
>> event registered with
>> 
>>    map.events.register('click', map, clickEvent);
>> 
>> doesn't seem to fire in default browsers on Android 2.3, 3.2 and iOS
>> 4.2 (works without error on desktop browsers).
>> 
>> I'm trying to read the coordinates a user 'tapped' on a map with something 
>> like
>> 
>>    function clickEvent(e) {
>>        var clickCoord = e.object.getLonLatFromPixel(e.xy);
>>    }
>> 
>> without much luck so far.
>> 
>> Is there something fundamentally wrong with my approach or is this a
>> known issue with mobile browsers?
>> 
>> I'm working with OpenLayers 2.x at 0b9555a4c81fb1f94d56.
>> 
>> Thanks!
>> Christian
> 
> Christian,
> 
> I won't say that this is the right way, but it does work for me.
> 
> 1. Create a click handler. This is basically just a copy and paste from
> http://dev.openlayers.org/docs/files/OpenLayers/Handler/Click-js.html
> 
> OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {
>  defaultHandlerOptions: {
>    'single': true,
>    'double': false,
>    'pixelTolerance': 0,
>    'stopSingle': false,
>    'stopDouble': false
>  },
>  initialize: function(options) {
>    this.handlerOptions = OpenLayers.Util.extend(
>      {}, this.defaultHandlerOptions
>    );
>    OpenLayers.Control.prototype.initialize.apply(
>      this, arguments
>    );
>    this.handler = new OpenLayers.Handler.Click(
>      this, {
>        'click': this.trigger
>      }, this.handlerOptions
>    );
>  }
> });
> 
> 
> 2. Use the click handler:
> 
> var click = new OpenLayers.Control.Click( { trigger: function(e) {
>    /* do your thing */
> }
> 
> Other may be able to provide a bteer approach.
> 
> Rich
> 
> -- 
> Richard Greenwood
> [email protected]
> www.greenwoodmap.com
> _______________________________________________
> Users mailing list
> [email protected]
> http://lists.osgeo.org/mailman/listinfo/openlayers-users

_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users

Reply via email to