Wednesday, 5 August 2009

Viewing multiple selected features in the AJAX viewer

One of the limitations with the current AJAX viewer (and a pet peeve of mine) is when you do multiple selections, you get the most unhelpful user feedback ever.

Those of you in Fusion land however, get the proper treatment with regards to multiple selected features. It will display the attributes of all the selected features for you. As shown below.

To do the same thing in the current AJAX viewer requires a custom development effort, which shouldn't have to be, but sadly is the case if you want similar functionality in the AJAX viewer.

I believe functionality as basic as this should have always existed in the AJAX viewer in the first place, which is why as part of my work on MapGuide RFC71, I am porting this functionality to the AJAX viewer.

One thing you may notice is that there is a button beside the selected dropdown. What this does is it allows you to zoom and center on the current selected feature. Allowing you to somewhat wade through that sea of blue polygons in large selection sets.

This zoom level is currently hardcoded to 200, and will probably change as I keep hacking away.

Currently, this new feature is only available for the PHP viewer. The .net and Java viewers will follow in due course (the scope of the RFC covers all 3 viewers). I have tested this on Firefox 3/3.5 and Internet Explorer 7/8 (surpisingly even IE6, that #$^% browser that just refuses to die!), it should also work on Chrome and Safari (RFC scope also covers these web browsers)

If you want to play with this new feature (and I would like people's feedback as I implement this), you will have to do the following:

1) Build mapguide trunk from source.
2) Install to a test machine.
3) Rename the web extensions root (www) directory.
4) Using a subversion client, checkout (or export) a copy of the RFC71 sandbox into your www directory.
5) Copy all the files and folders from the renamed directory into the www directory except for:
  • mapviewerphp
  • mapviewernet
  • mapviewerjava
  • stdicons
  • viewerfiles
  • localized
6) Copy constants.php into the checked out mapviewerphp. When the .net implementation is done, you'll have to copy the mapguide dlls into the bin directory of the checked out mapviewernet.

For those of you currently testing the 2.1 beta. Sorry, this feature is scoped for a 2.2 release. But I may be able to find some time to backport this to 2.1 and provide this enhancement as a separate download.

Finally for those of you who do want to test drive this feature (following the above instructions). Just remember that this is a first cut. Expect things to break :-P


L said...

I wonder if this functionallity is implemented on 2.1 .Or as you said, if it is available as a separate download?
Any help is apreciated.
Greetings from Argentina

Dejan Gregor said...


that would be a great functionality enhacement! Hardly waiting to get to know how this in .NET. Any samples code would be more than welcome!

Great work!