Застосовуєте користувацький стиль карти Google у OpenLayers2?


10

Нещодавно я натрапив на цю цікаву статтю, що демонструє потенціал додавання власних стилів у Карти Google. Деякі приклади стильових карт можна побачити тут, і ви можете створити свої власні з нуля тут .

Я хотів би застосувати тему "відтінків сірого" до базової карти OpenLayers: введіть тут опис зображення

Опис стилю відповідно до демонстрації Google виглядатиме так:

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

Моя карта Google у OpenLayers зараз виглядає просто так:

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

Як я можу застосувати тему відтінків сірого на своїй карті?


Google Maps Colorizr googlemapscolorizr.stadtwerk.org може бути корисним, якщо ви хочете визначити свої власні кольори.
radek


Деякі приклади гри з кольорами: 41latitude.com/post/1268734799/google-styled-maps
radek

Не хочете відпускати щедроту? :) Я думаю, що сімо отримав це
Рагі Ясер Бурхум

Справді. Ще три дні змагань через;]
radek

Відповіді:


20

Здається, що ви можете безпосередньо отримати доступ до об’єкта googlemap, використовуючи layer.mapObject .

Для стилю шару зверніться до API gmap: 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 для визначення стилю вашої карти; на другому посиланні є кілька хороших прикладів, які покажуть вам дуже хороший потік.
DEWright

1
@radek: Я не перевіряв це, але, мабуть, ви створюєте свій шар gmap таким чином var glayer = новий OpenLayers.Layer.Google (варіанти) , потім створюйте свій стиль за допомогою синтаксису Gmap і, нарешті, застосовуєте його, роблячи glayer.mapObject.mapTypes .set ('hiphop', jayzMapType); див. наведений приклад вище. Якщо скоро у мене з’явиться деякий час, я спробую це зробити, і повідомляю вас
simo

4
@radek: Тут ми йдемо empreinte-urbaine.eu/mapping/styled_gmap.html
Сімо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.