2012-04-24 4 views
2

OpenLayers를 사용하여 간단한 웹 기반 GIS 응용 프로그램을 구현할 것입니다. 히트 맵을 배경 이미지로 표시하고 싶습니다. Google지도의 하이브리드 뷰와 같습니다. 이것은 불가능한 것처럼 보입니다 - 나는보기 좋은 맵을 원합니다. 그래서 OSM-Layer를 사용하고 있습니다 - 그러나 이미지는 완전히 불투명합니다 - 그래서 제가 할 수있는 것은이 레이어 위에 이미지 (또는 다른 레이어)를 덧씌우는 것입니다 - 네, 투명성을 적용 할 수는 있지만 물론 라벨이 희미해질 것입니다.OpenLayers를 사용하여 OSM에서 투명 타일을 얻는 방법

지상 타일 만 (바다 등)에 대해 OSM을 묻는 방법이없는 것처럼 보입니다. 그런 다음 내 맞춤 레이어를 삽입 한 다음 OSM 레이어에 거리, 거리 이름 및 다른 요소.

내 생각에,이 작업을 수행하는 유일한 방법은 내 자신의 OSM-TileServer를 설정하고 이에 맞게 구성하는 것입니다.

어떤 아이디어?

+0

OS ... 무엇? 흠 .. : | –

+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와 함께 작동 - 관심있는 모든 사람을위한, 여기 것은 내 솔루션입니다 :

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]); 

(MY-MIDDLE-LAYER.KML는 테스트 목적으로 투명 빨간색 절반에 독일의지도입니다). .. 그리고 모든 것 위에 라벨이 멋지게 읽을 수 있습니다. :)