Changes between Version 7 and Version 8 of Future/TileServiceEnhancements


Ignore:
Timestamp:
May 29, 2014 8:10:55 PM (4 years ago)
Author:
jng
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Future/TileServiceEnhancements

    v7 v8  
    383383    ///
    384384    virtual void UnlockCache(MgResourceIdentiifer* tileSetDefinition);
     385
     386    /// Returns the default width of a tile
     387    ///
     388    virtual INT32 GetDefaultTileSizeX(MgResourceIdentiifer* tileSetDefinition);
     389
     390    /// Returns the default height of a tile
     391    ///
     392    virtual INT32 GetDefaultTileSizeY(MgResourceIdentiifer* tileSetDefinition);
     393
     394    /// Returns the list of available tile providers, along with supported connection parameters
     395    ///
     396    virtual MgByteReader* GetTileProviders();
    385397};
    386398}}}
     
    407419    virtual void UnlockCache(MgResourceIdentiifer* tileSetDefinition);
    408420
     421    /// Returns the default width of a tile
     422    ///
     423    virtual INT32 GetDefaultTileSizeX(MgResourceIdentiifer* tileSetDefinition);
     424
     425    /// Returns the default height of a tile
     426    ///
     427    virtual INT32 GetDefaultTileSizeY(MgResourceIdentiifer* tileSetDefinition);
     428
     429    /// Returns the list of available tile providers, along with supported connection parameters
     430    ///
     431    virtual MgByteReader* GetTileProviders();
     432
    409433    /// Returns the timestamp of when the tile for the specified map/group/row/col/scale was generated. Returns NULL if no such tile exists
    410434    ///
     
    420444
    421445Notice that no new GetTile overload is introduced (assuming this feature is separate from the HTTP 304 cacheability support). This is because tile access requires the same set of parameters, except that instead of a Map Definition, we can specify a TileSetDefinition instead. On the implementation side, the GetTile methods need to support TileSetDefinition as a valid resource type and be able to resolve the physical tile storage location to fetch and store tiles in from the TileSetDefinition. For a first cut implementation, it is safe to just hard-code this logic to resolve to the same physical tile cache directory that the existing MapGuide tile cache code uses.
     446
     447The GetTileProviders method is akin to GetFeatureProviders in MgFeatureService. It is a method to assist client-side authoring tools to provide rich user interfaces for editing TileSet Definitions. A sample response looks like this:
     448
     449{{{
     450<?xml version="1.0" encoding="UTF-8"?>
     451<TileProviderList>
     452  <TileProvider>
     453    <Name>Default</Name>
     454    <DisplayName>Default Tile Provider</DisplayName>
     455    <Description>Default tile access provided by MapGuide. Supports MapGuide-managed tile path or user-defined path</Description>
     456    <ConnectionProperties>
     457      <ConnectionProperty Enumerable="false" Protected="false" Required="true">
     458        <Name>TilePath</Name>
     459        <LocalizedName>TilePath</LocalizedName>
     460        <DefaultValue>%MG_TILE_CACHE_PATH%</DefaultValue>
     461      </ConnectionProperty>
     462  </TileProvider>
     463</TileProviderList>
     464}}}
    422465
    423466== Tile Set Locking ==