Недавно я наткнулся на эту интересную статью, демонстрирующую потенциал добавления пользовательских стилей в Google Maps. Некоторые примеры стилизованных карт можно увидеть здесь, и вы можете создать свой собственный с нуля здесь .
Я хотел бы применить тему «greyscale» к моей базовой карте 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}
);
Как я могу применить тему серого к моей карте?
openlayers-2
google-maps
Радек
источник
источник
Ответы:
Кажется, что вы можете напрямую получить доступ к объекту 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/.
источник