| 461 | === RenderTile API update === |
| 462 | |
| 463 | The RenderTile API is the fundamental primitive that all tile rendering use to produce map tiles. To support tile rendering via TileSetDefinition resources, we'll add a new overload of RenderTile that can accept additional parameters that were previously globally defined in serverconfig.ini |
| 464 | |
| 465 | {{{ |
| 466 | class MG_MAPGUIDE_API MgRenderingService : public MgService |
| 467 | { |
| 468 | PUBLISHED_API: |
| 469 | ///////////////////////////////////////////////////////////////// |
| 470 | /// \brief |
| 471 | /// Returns the specified base map tile for the given map. |
| 472 | /// |
| 473 | /// \remarks |
| 474 | /// This method only renders the given tile. No tile caching is performed |
| 475 | /// by this method. To render and cache the tile, use the |
| 476 | /// \link MgTileService::GetTile GetTile \endlink method instead. |
| 477 | /// |
| 478 | /// \param map |
| 479 | /// Input |
| 480 | /// map object containing current state of map. |
| 481 | /// \param baseMapLayerGroupName |
| 482 | /// Input |
| 483 | /// Specifies the name of the baseMapLayerGroup for which to render the tile. |
| 484 | /// \param tileColumn |
| 485 | /// Input |
| 486 | /// Specifies the column index of the tile to return. |
| 487 | /// \param tileRow |
| 488 | /// Input |
| 489 | /// Specifies the row index of the tile to return. |
| 490 | /// \param tileWidth |
| 491 | /// Input |
| 492 | /// Specifies the width of the tile to return. |
| 493 | /// \param tileHeight |
| 494 | /// Input |
| 495 | /// Specifies the height of the tile to return. |
| 496 | /// \param tileDpi |
| 497 | /// Input |
| 498 | /// Specifies the dpi the tile to return. |
| 499 | /// \param tileImageFormat |
| 500 | /// Input |
| 501 | /// Specifies the image format of the tile. See \link MgImageFormats \endlink |
| 502 | /// |
| 503 | /// \return |
| 504 | /// A byte reader containing the rendered tile image. |
| 505 | /// |
| 506 | virtual MgByteReader* RenderTile( |
| 507 | MgMap* map, |
| 508 | CREFSTRING baseMapLayerGroupName, |
| 509 | INT32 tileColumn, |
| 510 | INT32 tileRow, |
| 511 | INT32 tileWidth, |
| 512 | INT32 tileHeight, |
| 513 | INT32 tileDpi, |
| 514 | CREFSTRING tileImageFormat) = 0; |
| 515 | }; |
| 516 | }}} |
| 517 | |
| 1012 | |
| 1013 | ///////////////////////////////////////////////////////////////// |
| 1014 | /// \brief |
| 1015 | /// Returns the specified map tile for the given map. Tile structure is |
| 1016 | /// based on the XYZ tiling scheme used by Google Maps, OpenStreetMap, and |
| 1017 | /// others |
| 1018 | /// |
| 1019 | /// \param map |
| 1020 | /// Input |
| 1021 | /// map object containing current state of map. |
| 1022 | /// \param baseMapLayerGroupName |
| 1023 | /// Input |
| 1024 | /// Specifies the name of the baseMapLayerGroup for which to render the tile. |
| 1025 | /// \param x |
| 1026 | /// Input |
| 1027 | /// Specifies the row index of the tile to return. |
| 1028 | /// \param y |
| 1029 | /// Input |
| 1030 | /// Specifies the column index of the tile to return. |
| 1031 | /// \param z |
| 1032 | /// Input |
| 1033 | /// Specifies the zoom level of the tile to return. |
| 1034 | /// \param dpi |
| 1035 | /// Input |
| 1036 | /// Specifies the dpi of the tile to return. |
| 1037 | /// \param tileImageFormat |
| 1038 | /// Input |
| 1039 | /// Specifies the image format of the tile to return. |
| 1040 | /// |
| 1041 | /// \return |
| 1042 | /// A byte reader containing the rendered tile image. |
| 1043 | /// |
| 1044 | virtual MgByteReader* RenderTileXYZ( |
| 1045 | MgMap* map, |
| 1046 | CREFSTRING baseMapLayerGroupName, |
| 1047 | INT32 x, |
| 1048 | INT32 y, |
| 1049 | INT32 z, |
| 1050 | INT32 dpi, |
| 1051 | CREFSTRING tileImageFormat) = 0; |