OpenLayers2에서 맞춤 Google지도 스타일을 적용 하시겠습니까?


10

최근 에 Google지도에 맞춤 스타일 을 추가 할 수있는 가능성을 보여주는 이 흥미로운 기사 를 발견했습니다 . 스타일지도의 일부 예는 여기에서 볼 수 있으며 여기 에서 처음부터 직접 디자인 할 수 있습니다 .

OpenLayers 기본 맵에 '회색조'테마를 적용하고 싶습니다. 여기에 이미지 설명을 입력하십시오

Google 데모 에 따른 스타일 설명 은 다음과 같습니다.

var styles = {
  'Greyscale': [
    {              
      featureType: 'all',
      rules: [
        {saturation: -100},
        {gamma: 0.50}
      ]
    }
  ]
}

OpenLayers의 Google지도는 현재 다음과 같습니다.

var gmap = new OpenLayers.Layer.Google("Google Streets",
    {
    'numZoomLevels': 20,
    'sphericalMercator': true}
);

회색조 테마를지도에 적용하려면 어떻게해야합니까?


Google Maps Colorizr googlemapscolorizr.stadtwerk.org 는 고유 한 색상을 정의하려는 경우 유용 할 수 있습니다.
radek



현상금을 버리고 싶지 않습니까? :) 나는
simo

과연. 아직도 3 일의 경쟁 tho;]
radek

답변:


20

layer.mapObject 사용하여 googlemap 객체에 직접 액세스 할 수있는 것 같습니다 .

https://developers.google.com/maps/documentation/javascript/styling : 레이어 스타일을 지정하려면 gmap API를 참조하십시오.

다음은 내가 만든 작은 예제 페이지입니다. http://www.intermezzo-coop.eu/mapping/styled_gmap.html

googlemap 마법사 ( https://mapstyle.withgoogle.com/)를 참조하십시오.


성공 했습니까, Radek?
simo

@simo : 정확히 'layer.mapObject'를 사용하는 방법을 잘 모르겠습니다
radek

1
@radek; 맵 스타일을 정의하기 위해 자체 JS를 작성해야합니다. 두 번째 링크에는 좋은 흐름을 보여주는 몇 가지 좋은 예가 있습니다.
DEWright

1
@radek : 나는 그것을 테스트하지 않은하지만 난 당신이 너무로 GMAP 레이어를 만들 생각 새로운 OpenLayers.Layer.Google (옵션) = glayer VAR 이 일을 적용 마지막으로, 다음 GMAP 구문을 사용하여 스타일을 만들고, glayer.mapObject.mapTypes을 .set ( 'hiphop', jayzMapType); 위의 주어진 예를 참조하십시오. 내가 시간이 좀 있다면, 나는 그것을 시도하고 알려줄 것이다
simo

4
@radek : 여기로 이동합니다 empreinte-urbaine.eu/mapping/styled_gmap.html
simo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.