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、



賞金を手放したくないですか?:)私はシモがそれを手に入れたと思います
Ragi Yaser Burhum

確かに。まだ3日間の競争;]
radek

回答:


20

あなたが直接使用してGoogleマップオブジェクトにアクセスできるようですlayer.mapObjectを

レイヤーのスタイルを設定するには、gmap APIを参照してください:https ://developers.google.com/maps/documentation/javascript/styling

これが私が作成した小さなサンプルページです:http : //www.intermezzo-coop.eu/mapping/styled_gmap.html

googlemapウィザードも参照してください:https ://mapstyle.withgoogle.com/


ラデク、成功しましたか?
simo

@simo:「layer.mapObject」の使い方が正確にわかりません
radek

1
@radek; マップのスタイルを定義するには、独自のJSをいくつか作成する必要があります。2番目のリンクには、非常に優れたフローを示す良い例がいくつかあります。
DEWright

1
@radek:私はテストしていませんが、var glayer = new OpenLayers.Layer.Google(options)のようにgmapレイヤーを作成してから、Gmap構文を使用してスタイルを作成し、最後にglayer.mapObject.mapTypesを実行して適用します.set( 'hiphop'、jayzMapType); 上記の例を参照してください。時間があれば、ぜひお知らせします
simo

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.