[fusion-users] Fusion + MapServer Function/Look Like MapGuide
percy
percyd at pdx.edu
Wed Jul 16 14:21:23 EDT 2008
Paul and Mike, thanks for the enthusiastic response!
I'll will try to get some use case information to you next week!
Cheers,
Percy
Mike Adair wrote:
> I'm starting to work on this again, so like Paul says, feedback would be
> very helpful. What I have so far, is that the ApplicationDefinition
> would define multiple Map elements in the MapGroup element like so:
>
> <MapGroup id="multimap" xsi:type="MapType">
> <Map xsi:type="MapGuideLayerType">
> <Type>MapGuide</Type>
> <SingleTile>true</SingleTile>
> <Extension>
>
> <ResourceId>Library://Samples/Sheboygan/Maps/Sheboygan1.MapDefinition</ResourceId>
>
> </Extension>
> </Map>
> <Map xsi:type="MapGuideLayerType">
> <Type>MapServer</Type>
> <SingleTile>true</SingleTile>
> <Extension>
> <MapFile>/ms4w/apps/gmap/htdocs/gmap75.map</MapFile>
> </Extension>
> </Map>
> </MapGroup>
>
> and the first one would become the baseLayer, the Type element would (in
> theory) accept any OpenLayers.Layer.* type and there would be a 1:1
> mapping of OL layer properties in the <Extension> element. There remains
> some questions around the establishing a session and the LoadMap.php
> call for the various layer types and how to make it work for vector layers.
>
> I'll be setting up a sandbox for this work today.
>
> Mike
>
>
>
> Paul Spencer wrote:
>> It should be possible :) You will need to spend some quality time
>> with firebug probably, but in essence you can get access to the
>> OpenLayers.Map instance and then do whatever you want. I would
>> probably approach it like this:
>>
>> window.onload=function(){
>> Fusion.registerForEvent(Fusion.Event.FUSION_INITIALIZED,
>> fusionInitialized);
>> Fusion.registerForEvent(Fusion.Event.FUSION_ERROR, fusionError);
>> Fusion.initialize();
>> }
>>
>> function fusionError(eventId, error) {
>> console.log('Fusion Error: '+error.toString();
>> }
>>
>> function fusionInitialized(eventId) {
>> var map = Fusion.getWidgetById('Map'); // the id of the div
>> containing the map
>> var olMap = map.oMapOL;
>> var wms = new OpenLayers.Layer.WMS(/* parameters */);
>> olMap.addLayer(wms);
>> }
>>
>> You will probably run into difficulty with the whole baseLayer thing
>> in OpenLayers. By default, most tile-based layers want to be base
>> layers and you need to add isBaseLayer: false to the layer options
>> (4th arg to WMS layer, might be different in other layer types).
>>
>> You can also start Fusion without a map loaded and inject a baseLayer
>> using this method, but then a whole bunch of things won't really work
>> - for instance a lot of widgets only get enabled after a map has loaded.
>>
>> Some feedback on *how* this should work would be appreciated. If you
>> have a particular use case and would like to be able to set things up
>> in a particular way, that would be very useful to the developers as we
>> plan out exposing more OpenLayers stuff.
>>
>> Cheers
>>
>> Paul
>>
>> On 16-Jul-08, at 1:42 AM, David Percy wrote:
>>
>>> Paul, thanks for the explanation on the tiling.
>>>
>>> I've actually been waiting to use and contribute to Fusion until the
>>> tiling was in place, as we currently use kamap for our tiling engine
>>> for the US geological survey, and it really helps. We are just
>>> working with Mootools and Openlayers, but I'd be happier if we were
>>> contributing to an active project, like Fusion, since that's the open
>>> source spirit.
>>>
>>> Is there a way to "wire" the unsupported Openlayers layer types into
>>> a Fusion app? It doesn't seem like it should be too difficult, but I
>>> was worried about making things hard to migrate once the Fusion
>>> framework supports it.
>>>
>>> I'd appreciate any thoughts you (or others on the PSC) have on this.
>>> Cheers,
>>> Percy
>>>
>>> Paul Spencer wrote:
>>>> Hi Tim,
>>>> you can get a Fusion application to look essentially like that
>>>> application using mapserver. The tiling capability on the client
>>>> side is implemented by OpenLayers, so there is nothing magically
>>>> mapguide about it. However, there is no support in the
>>>> ApplicationDefinition to let you define a tiled mapserver layer. We
>>>> are working on supporting all the OpenLayers layer types through the
>>>> ApplicationDefinition for the 1.1 release but this work has not yet
>>>> been done.
>>>> Even when the necessary hooks in Fusion are available, you will
>>>> still need something on the server side to generate the tiles. You
>>>> can use mapserver to do this directly, but it is pretty inefficient
>>>> since mapserver will draw the same tile over and over again. What
>>>> you need is something that will cache tiles for you and serve them
>>>> from the cache if available. For this, we will be recommending
>>>> either the kaMap's tile.php or TileCache.
>>>> Cheers
>>>> Paul
>>>> On 14-Jul-08, at 4:22 PM, Nolte, Tim wrote:
>>>>> OK, I know this is probably wishful thinking. AS I've looked at the
>>>>> MapGuide live app gallery. And specifically the following demo:
>>>>>
>>>>>
>>>>> http://data.mapguide.com/mapguide/phpviewersample/ajaxviewersample.php
>>>>>
>>>>> I would like to get Fusion (1.0.6) functioning and looking like that
>>>>> demo but using UMN MapServer. Is this even possible? Something I'm
>>>>> also
>>>>> wondering about is the Tiled AJAX sample. Is the tiling something
>>>>> specific and built in to MapGuide? I'm assuming the tiling is
>>>>> something
>>>>> on the server side and nothing to do with Fusion?
>>>>>
>>>>> - Tim
>>>>>
>>>>> ----
>>>>> Timothy J Nolte - tnolte at ilpcs.com
>>>>> Network Planning Engineer
>>>>>
>>>>> iPCS Wireless, Inc.
>>>>> 4717 Broadmoor Ave, Suite G
>>>>> Kentwood, MI 49512
>>>>>
>>>>> Office: 616-656-5163
>>>>> PCS: 616-706-2438
>>>>> Fax: 616-554-6484
>>>>> Web: www.ipcswirelessinc.com
>>>>> _______________________________________________
>>>>> fusion-users mailing list
>>>>> fusion-users at lists.osgeo.org
>>>>> http://lists.osgeo.org/mailman/listinfo/fusion-users
>>>> __________________________________________
>>>> Paul Spencer
>>>> Chief Technology Officer
>>>> DM Solutions Group Inc
>>>> http://www.dmsolutions.ca/
>>>> _______________________________________________
>>>> fusion-users mailing list
>>>> fusion-users at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/fusion-users
>>>
>>> --
>>> David Percy
>>> Geospatial Data Manager
>>> Geology Department
>>> Portland State University
>>> http://gisgeek.pdx.edu
>>> 503-725-3373
>>
>>
>> __________________________________________
>>
>> Paul Spencer
>> Chief Technology Officer
>> DM Solutions Group Inc
>> http://www.dmsolutions.ca/
>>
>> _______________________________________________
>> fusion-users mailing list
>> fusion-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/fusion-users
>>
>
--
David Percy
Geospatial Data Manager
Geology Department
Portland State University
http://gisgeek.pdx.edu
503-725-3373
More information about the fusion-users
mailing list