2014-12-23 2 views
0

Я вижу проблему, преобразующую стили карты snazzymaps.com в статические URL карты, где яркость и/или цвет преобразуются неправильно. Я уже прочитал this question и использовал этот инструмент в комментарии.Проблема Преобразование стилей Google Maps в Google Static Maps URI

Вот хороший пример проблемы: https://snazzymaps.com/style/30/cobalt

[ 
    { 
     "featureType": "all", 
     "elementType": "all", 
     "stylers": [ 
      {"invert_lightness": true}, 
      {"saturation": 10}, 
      {"lightness": 30}, 
      {"gamma": 0.5}, 
      {"hue": "#435158"} 
     ] 
    } 
] 

дает: http://i.stack.imgur.com/zRBDY.png

Используя код/​​инструмент из http://jsfiddle.net/gaby/s6Dyp/ дает: http://i.imgur.com/OygmxrM.png

Это, очевидно, намного ярче. Ясно, что некоторая ценность отключена, но я не уверен, какой из них. Трюки с валами я могу получить смутно похожий результат на оригинал, изменив гамма до 0,9 и легкость до 10.

Это не выглядит так, как будто есть проблема с преобразованием, поскольку значения одинаковы , Скорее, кажется, что служба статических карт дает разные результаты для одних и тех же значений. Кто-нибудь сталкивался с подобной проблемой?

+3

я исправил ссылки на изображения, но URL является одинаковым для них обоих, какая-то ошибка? – duncan

+0

Обновлен img url (http://i.imgur.com/OygmxrM.png), который показывает неправильные цвета. – user648155

ответ

-1

Google docs for the Static Maps API дает следующие возможности для укладки карты:

  • оттенок
  • воздушность
  • насыщения
  • гамма
  • inverse_lightness
  • видимость

Строка задается этой tool for converting SnazzyMaps JSON в статических карт URL дает:

& стиль = особенность: все | элемент: все | invert_lightness: истинное | насыщению: 10 | легковесность: 30 | гамма: 0,5 | Оттенок: 0x435158

т.е. invert_lightness вместо inverse_lightness. Может ли это быть проблема? Когда я изменить его с:

http://maps.googleapis.com/maps/api/staticmap?sensor=false&size=512x512&zoom=15&center=Chicago&style=feature:all|element:all|invert_lightness:true|saturation:10|lightness:30|gamma:0.5|hue:0x435158

к:

http://maps.googleapis.com/maps/api/staticmap?sensor=false&size=512x512&zoom=15&center=Chicago&style=feature:all|element:all|inverse_lightness:true|saturation:10|lightness:30|gamma:0.5|hue:0x435158

я получаю что-то совсем другое смотреть.

Фактически, дальнейшее чтение документов, я думаю, возможно, вы должны указать значение lightness как отрицательное: «Отрицательные значения увеличивают темноту». Это больше похоже на то, что вы хотите, чтобы ваша карта выглядеть следующим образом:

http://maps.googleapis.com/maps/api/staticmap?sensor=false&size=512x512&zoom=4&center=Chicago&style=feature:all|element:all|invert_lightness:true|saturation:10|lightness:-30|gamma:0.5|hue:0x435158

+0

Да, негатив на легкости. – user648155

+0

Я заметил invert_lightness vs inverse_lightness, но потом увидел, что изменение этого имени параметра привело только к другому результату, потому что значение было полностью пропущено (т. Е. PPPinvert_lightness дает тот же результат, что и invert_lightness). Большое спасибо. Я не могу прокомментировать указанную выше ссылку, поэтому здесь будет приведен отдельный ответ (на основе выше) с модификацией для правильного преобразования. – user648155

+0

Функция здесь http://jsfiddle.net/ad5kprad/ взята из редактора стиля Googles (с некоторыми незначительными изменениями). Однако, используя стили из snazzymaps, обнаружил, что он не работает полностью. Некоторые проблемы: – user648155