2012-04-24 8 views
2

OpenLayersを使用して簡単なWebベースのGISアプリケーションを実装しています。私はヒートマップを背景画像として表示したいのです - Googleマップのハイブリッドビューと同じように。これは不可能なようです - 私は見た目の良いマップが欲しいので、私はOSM-Layerを使用していますが、イメージは完全に不透明です - このレイヤーの上にイメージ(または他のレイヤー)はい、私はいくつかの透明性を適用することができますが、もちろん、ラベルはフェードアウトされます。OpenLayersを使用してOSMから透明なタイルを取得する方法

OSMに地面タイルのみを求める方法はないようです(海洋など)。次に、私のカスタムレイヤーを挿入し、その上にストリート、ストリートネームなどのOSMレイヤーを挿入します。他の要素。

これを達成する唯一の方法は、自分のOSM-TileServerをセットアップし、それに応じて設定することですか?

すべてのアイデア?

+0

OS ...何? hm ..:| –

+0

OpenStreetMapsのOpenLayers内での名前はOSM ist – Fluchtpunkt

+0

これは既に行われているタイルの商業的なセットを見つけることができない限り、あなたのアイデアは最良のアプローチであるようです。 –

答えて

1

はあなたがラベルなしでOSMのタイルを見つけることができるように見えます、事前に

ありがとう:http://help.openstreetmap.org/questions/1873/how-can-i-create-a-map-without-any-names-on-it

私はあらゆる«ラベルのみ»OSMタイルセットを認識していませんよ(編集:私が貼り付けたリンクを良く読んでいる場合を除いて)

私はここにいる(https://alastaira.wordpress.com/2011/05/13/displaying-labels-on-top-of-bing-maps-custom-tile-layers/)あなたのニーズに合った2本のビングタイルセットがあるようです。私はそれがOpenLayers(http://dev.openlayers.org/docs/files/OpenLayers/Layer/Bing-js.html)でそれらを設定するのは難しいはずはないと思います。

0

この高速返信いただきありがとうございます!それは今OSMで動作

は - 興味を持って皆のために、ここに私のソリューションです: (MY-MIDDLE-LAYER.KMLはテスト目的のために透明赤半分にドイツのマップである)

var kml = new OpenLayers.Layer.GML("KML", "MY-MIDDLE-LAYER.KML", { 
format: OpenLayers.Format.KML,formatOptions:{extractStyles:true,extractAttributes:true},alwaysInRange:true,isBaseLayer: false,opacity:50,transparent:true 
}); 

OpenLayers.Layer.OSM.Toolserver = OpenLayers.Class(OpenLayers.Layer.OSM, { 
    initialize: function(name, options) { 
     var url = [ 
      "http://a.www.toolserver.org/tiles/" + name + "/${z}/${x}/${y}.png", 
      "http://b.www.toolserver.org/tiles/" + name + "/${z}/${x}/${y}.png", 
      "http://c.www.toolserver.org/tiles/" + name + "/${z}/${x}/${y}.png", 
      "http://d.www.toolserver.org/tiles/" + name + "/${z}/${x}/${y}.png", 
      "http://e.www.toolserver.org/tiles/" + name + "/${z}/${x}/${y}.png", 
      "http://f.www.toolserver.org/tiles/" + name + "/${z}/${x}/${y}.png" 
     ]; 
     options = OpenLayers.Util.extend({numZoomLevels: 19}, options); 
     OpenLayers.Layer.OSM.prototype.initialize.apply(this, [name, url, options]); 
    }, 
    CLASS_NAME: "OpenLayers.Layer.OSM.Toolserver" 
}); 
l1=new OpenLayers.Layer.OSM.Toolserver('osm-labels-de', {isBaseLayer: false, visibility: true}); 
l2=new OpenLayers.Layer.OSM.Toolserver('osm-no-labels'); 
map.addLayers([kml,l1,l2]); 

。 ..とラベルはすべての上にうまく読みやすいように見えます:)

関連する問題