Opened 12 years ago

Closed 12 years ago

#2086 closed defect (wontfix)

Maestro API - RuntimeMap DataExtent is Not Dynamic

Reported by: crispinatime Owned by: jng
Priority: medium Milestone: Maestro-5.0
Component: Maestro Version:
Severity: major Keywords:
Cc: External ID:

Description

In trying to get the actual current MapGuide viewable window extent the properties of the RuntimeMap appear to be static and not what is expected.

See brief discussion: http://osgeo-org.1560.n6.nabble.com/Current-Map-DataExtent-via-Server-API-tt4990992.html

To replicate:

From the Maestro Source SVN launch the \SDK\SamplesWeb project

If required, update to .NET 4 and add the 2.4 WebLayout manager to global.asax

Add a breakpoint at line 52 of ToggleLayerVisibility.aspx.cs

Run the project in debug mode and click on "Toggle Layer"

When the breakpoint is hit the properties of the RuntimeMap object (rtMap) can be inspected - note the DataExtent, continue

Zoom and pan the map - repeat click on "Toggle Layer" and observe values at breakpoint

Expected Result - property of the runtime map reflects current map view extents

Actual result - value of DataExtent is same as MapExtent and does not change

If this is replicated I think the impact is high as it is not possible to determine what the user is viewing without an ugly client-side JavaScript parameter exchange

Change History (2)

comment:1 by jng, 12 years ago

Try this:

  • Load the .net Developer Guide's sample (this assumes you enabled this feature during installation)
  • Load the Modifying Maps and Layers sample
  • Click Map Information to bring up mapinfo.aspx in a new window. It reports on the current state of the MgMap.
  • Observe the data extents.
  • Zoom/Pan to a different area of the map
  • Click Map Information to bring up another mapinfo.aspx window.
  • Observe that data extents.

If it's like what I saw, the data extents remains the same, and this is from the official MgMap class! If we look at what what actually calls MgMapBase::SetDataExtent() to modify the data extents, it's only the controller class for the (now defunct) DWF eMap viewer. Meaning nothing actually uses this particular extent. All rendering operations are driven off of center/scale/width/height/dpi

So in that respect, the value you're seeing matches official MgMap behaviour, which gives the same data extents everytime as well.

What it all boils down to is: If this is a defect, the official API has this defect as well and it should be fixed there as well. Probably should discuss on -internals first.

comment:2 by jng, 12 years ago

Resolution: wontfix
Status: newclosed

DataExtent is an artifact of the deprecated DWF viewer, and serves no real purpose in the AJAX/Fusion viewer.

Note: See TracTickets for help on using tickets.