Die deutsche Google Maps Community.
Die Möglichkeiten sind da!
Forum Suche | Forum Übersicht | Anmerkung: registrierte Benutzer können sich über neue Einträge benachrichtigen lassen | Anmerkung: registrierte Benutzer können sich über neue Einträge benachrichtigen lassen
Kachelebenen-Overlays |
||
|---|---|---|
| Xenon | verfasst: 19.08.2009, 20:33 | |
Neu hier
registriert: Aug. 2009
Beiträge: 1
Status: offline letzter Besuch: 19.08.09 |
Hi, versuche meiner Karte wie bereits erwähnt Kachelebenen-Overlays hinzuzufügen (http://code.google.com/in...ml#Tile_Layer_Overlays) Allerdings erscheinen die Overlays bei mir nicht. Ich nehme mal an des es Probleme damit gibt, dass ich eigene Tiles anstelle der Original Tiles verwende. Hier einmal mein Script: // Karte wird generiert function on_load_maps() { //Browserkompatibilität wird überprüft if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); var TileUtl = new Tile(); // Testmarker wird erstellt var markerpos = new GLatLng(73.92246884621463,-105.8203125); var marker = new GMarker(markerpos); GEvent.addListener(marker, "click", function() { var HTML = "Unbiskant"; marker.openInfoWindowHtml(HTML); }); map.addOverlay(marker); // Beim klick auf die Karte werden die jeweiligen Tile-Koordinaten ausgegeben GEvent.addListener( map, "click", function(overlay, point){ var tileCoords = TileUtl.getTileCoords( point.lat(), point.lng(), map.getZoom() ); alert( "tile_x:" + tileCoords.x + " tile_y:" + tileCoords.y ); }); // Bedienelemente werden hinzugefügt // Fügt das kleine Kontroll-Ement-Set hinzu map.addControl(new GSmallMapControl()); // Erstellt die Copyright Informationen var copyright = new GCopyright(1, new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180)), 1, "(c) 2009 Niels Westphal"); var copyrightCollection = new GCopyrightCollection('Map Data:'); copyrightCollection.addCopyright(copyright); // Create the tile layer overlay and // implement the three abstract methods var tilelayer = new GTileLayer(copyrightCollection); tilelayer.getTileUrl = function() { return "tile_overlay_16px.png"; }; tilelayer.isPng = function() { return true;}; tilelayer.getOpacity = function() { return 1.0; } var myTileLayer = new GTileLayerOverlay(tilelayer); // Die eigenen Tiles werden geladen CustomGetTileUrl=function(a,b){ var f = b+"_"+a.x+"_"+a.y+".png"; return f; } var tilelayers = [new GTileLayer(copyrightCollection,1,6)]; tilelayers[0].getTileUrl = CustomGetTileUrl; var custommap = new GMapType(tilelayers, new GMercatorProjection(7), "Old OS"); map.addMapType(custommap); // Die Karte wird beim angegebenen Punkt zentriert map.setCenter(new GLatLng(73.92246884621463,-105.8203125, true), 1, custommap); // Hinzufügen der Kachelebenen-Overlays map.addOverlay(myTileLayer); } } // Karte wird geladen window.onload = on_load_maps; PS: Die Grafik die ich als Overlay verwende ist 256x256 px groß. Ich habe "map.addOverlay(myTileLayer);" testweise auch schon an anderen Stellen im Script eingefügt, allerdings erscheint dann meist einfach nur eine Graue Fläche (teilweise mit Marker). mfg. Niels |
|
|
|
|
|
User online:
Diese Angaben basieren auf den Useraktivitäten der letzten 10 Minuten