Donnerstag, 24. Juli 2008

Einführung in Oracle Maps Mashup mit externem Custom Map Tile Layer (1)

Google Maps und OpenLayers beispielswiese erlauben die Integration der Tiles Layer externer Web Tile Server, so dass auf fertig gerenderten Tiles die Darstellung der dynamischen Anwenderdaten erfolgen kann.

Im neuen Oracle Maps (ich verwende Oracle Maps 11g Preview 2) muss nun analog zu obigen Map Clients der Oracle Map - Instanz ein Map Tile Layer zugewiesen werden:


var baseURL = "http://"+document.location.host+"/mapviewer";

// Create a MVMapView instance
var mapview = new MVMapView(document.getElementById("map"), baseURL);

// Add a map tile layer
mapview.addMapTileLayer(new MVMapTileLayer("mvdemo.demo_map"));
..

Die neue MVMapTileLayer Class wurde ausserdem folgerichtig um die MVCustomMapTileLayer Class zur Bildung eines Custom Map Tile Layers erweitert.

D.h., es werden die auf einem externen Map Tile Server erstellten Map Image Tiles per HTTP GET Map Tile Requests direkt angefordert und in der MapViewer Instanz als Base Map Layer dargestellt. Die hierfür benötigte MapTile-URL wird in der JavaScript Function getMapTileURL mit dem Return der Map Tile Image - URL gebildet.

Als Input-Parameter benötigt die Function getMapTileURL 5 Parameter, geliefert vom JavaScript Map Client:
  • X coordinate of the left-lower corner of the tile in map coordinate system

  • Y coordinate of the left-lower corner of the tile in map coordinate system

  • Tile width in map coordinate system

  • Tile height in map coordinate system

  • Map zoom level :



Hierzu gibt es ein Demo in Oracle Maps, in dem der Zugriff auf lokale Demo Tiles mit der Funktion MVCustomMapTileLayer präsentiert wird.

Wenn man jedoch von externen Web Tile Servern die Tile Layers beziehen möchte, muss man die externe Map Projektion und die entsprechenden Scale Ranges in Oracle Maps vorgeben.

Im Teil 2 zu Oracle Maps Mashups werde ich die gerenderten Tiles des Online verfügbaren Oracle Geocoding Demos verwenden.

Friedhold

Keine Kommentare: