[OpenLayers-Dev] Map event confusion

Tim Schaub tschaub at opengeo.org
Fri Mar 26 17:31:28 EDT 2010


Stephen Woodbridge wrote:
> Tim, et al,
> 
> This may a question based on my ignorance, but why isn't the 
> EVENTS_TYPES array dynamically appended to when someone adds an event 
> listener vi map.events.on() or registerListener() or whatever registeres 
> event listeners.
> 
> Then the predefined list of events would only need to include those 
> events the OL depends on being there.
> 

We could rewrite Events.js to allow listeners to be registered for any 
named event.  And I think this could be done without negative 
side-effect (dispensing entirely with EVENT_TYPES arrays).

Tim

> -Steve W
> 
> Tim Schaub wrote:
>> I'm in favor of removing this cruft as well.
>>
>> To be clear, here are things that "work" currently:
>>
>>      // myapp.js
>>
>>      map.events.on({
>>          popupopen: myPopupOpenListener,
>>          // and the rest
>>      });
>>
>>      var openPopup = function() {
>>          var pop = createPopup();  // defined elsewhere
>>          pop.show();
>>          map.events.triggerEvent("popupopen", {popup: pop});
>>      }
>>
>> Currently, if application code makes use of the events listed below, 
>> the corresponding event listeners get called appropriately.
>>
>> After removing these entries from the EVENT_TYPES array, these 
>> listeners will not get called.
>>
>> Again, I'm fine with this.  Just wanted to be clear that we are 
>> changing the behavior of any applications that might be using these 
>> named events (perhaps none).
>>
>> Tim
>>
>>
>> Marc Jansen wrote:
>>> Hi all,
>>>
>>> so do you all think I should open up a ticket with milestone 2.10 
>>> including a patch that does
>>>
>>>     * leave the events in the EVENT_TYPES array as they currently are
>>>     * but changes the documentation to not reference the events
>>>           o addmarker,
>>>           o removemarker,
>>>           o clearmarkers,
>>>           o dragstart,
>>>           o dragend,
>>>           o drag,
>>>           o popupopen,
>>>           o popupclose anymore?
>>>     * should I add yet another ticket to remove the unneeded events 
>>> in 3.0?
>>>
>>> What do you think? I am willing to provide a patch for the above ticket.
>>>
>>> Regards and thanks for your opinions,
>>> Marc
>>>
>>>
>>> Stephen Woodbridge schrieb:
>>>> Christopher Schmidt wrote:
>>>>  
>>>>> On Thu, Mar 25, 2010 at 03:32:36PM -0600, Tim Schaub wrote:
>>>>>    
>>>>>> Marc Jansen wrote:
>>>>>>      
>>>>>>> Hi devs,
>>>>>>>
>>>>>>> I am rather confused about the documentation about map-events. Is 
>>>>>>> it right that
>>>>>>>
>>>>>>>     * addmarker,
>>>>>>>     * removemarker,
>>>>>>>     * clearmarkers,
>>>>>>>     * dragstart,
>>>>>>>     * dragend,
>>>>>>>     * drag
>>>>>>>
>>>>>>> are defined but never get triggered?
>>>>>>>
>>>>>>> If so, they should IMHO be removed from the EVENT_TYPES-array and 
>>>>>>> the documentation for that.
>>>>>>>
>>>>>>>         
>>>>>> The problem with removing things from the EVENT_TYPES array is 
>>>>>> that there could be applications that have subscribers for them 
>>>>>> and use map.events to publish.
>>>>>>
>>>>>> If we remove those entries, those applications break.
>>>>>>
>>>>>> I know this is silly.  You are right to point out that there is 
>>>>>> little sense and lots of confusion in having them.
>>>>>>
>>>>>> Our safest bet is to mark them as unused and remove them in 3.0.  
>>>>>> If others think the caution is not needed, I wouldn't be opposed 
>>>>>> to removing them.
>>>>>>       
>>>>> In general, I'm supportive of any changes that make things simpler 
>>>>> which
>>>>> means that applications that did not throw errorrs in earlier 
>>>>> releases will
>>>>> continue to not throw errors in future releases.
>>>>> In this particular case, it's hard to imagine that someone has written
>>>>> code that specifically registers for an event that doesn't do 
>>>>> anything.
>>>>>
>>>>> With sufficient documentation, I'd be willing to change the code to 
>>>>> not
>>>>> have those events. However,  since events (unlike methods) are not 
>>>>> actually
>>>>> in existence in the Natural Docs except if they're documented, I think
>>>>> it would be equally successful -- for anyone who isn't actually 
>>>>> digging
>>>>> into the code itself, a fact that describes more and more of our 
>>>>> users --
>>>>> to just not document those events. At that point, the events simply
>>>>> 'disappear' from the docs completely without any other work on our
>>>>> part.
>>>>>
>>>>> -- Chris
>>>>>     
>>>> Chris, et al,
>>>>
>>>> I can appreciate this sentiment, I think there are a lot of "casual" 
>>>> users that will not dig into the code and in those cases, if it is 
>>>> not in the docs then the problem does indeed go away. But there are 
>>>> a small but healthy number of "coders" who are trying to do more 
>>>> with OpenLayers like Marc, myself and others I'm sure that do dig 
>>>> into the code and spend a lot of time chasing our tails, aka: 
>>>> learning? :) because we try something like an event that never gets 
>>>> triggered and then scratch our heads for a while trying to figure 
>>>> out why. We eventually do figure it out or ask and get help. I would 
>>>> like to see doc that better explains what events exist and what gets 
>>>> passed to them. I have also noticed that there is a trend to move 
>>>> away from callbacks, which were somewhat better documented, in favor 
>>>> of using events (or maybe I'm mistaken) and some objects say 
>>>> register for such and such event to get notified when something 
>>>> happens, but there is no additional information as to what is passed 
>>>> to the event, etc.
>>>>
>>>> Regardless, I'm loving OL and continued to be impressed by how much 
>>>> is built into OL and how easy OL is to extend once I can get my head 
>>>> to think about the problem in in the right way.
>>>>
>>>> Thanks all and best regards,
>>>>    -Steve
>>>>
>>>>  
>>>>>> Tim
>>>>>>
>>>>>>      
>>>>>>> Please ignore the mail if I missed something fundamental (but 
>>>>>>> please enlighten me where these events are triggered)
>>>>>>>
>>>>>>> Regards,
>>>>>>> Marc
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Dev mailing list
>>>>>>> Dev at openlayers.org
>>>>>>> http://openlayers.org/mailman/listinfo/dev
>>>>>>>         
>>>>>> -- 
>>>>>> Tim Schaub
>>>>>> OpenGeo - http://opengeo.org
>>>>>> Expert service straight from the developers.
>>>>>> _______________________________________________
>>>>>> Dev mailing list
>>>>>> Dev at openlayers.org
>>>>>> http://openlayers.org/mailman/listinfo/dev
>>>>>>       
>>>> _______________________________________________
>>>> Dev mailing list
>>>> Dev at openlayers.org
>>>> http://openlayers.org/mailman/listinfo/dev
>>>>
>>>>   
>>> _______________________________________________
>>> Dev mailing list
>>> Dev at openlayers.org
>>> http://openlayers.org/mailman/listinfo/dev
>>
>>
> 


-- 
Tim Schaub
OpenGeo - http://opengeo.org
Expert service straight from the developers.



More information about the Dev mailing list