问题将Google地图样式转换为Google静态地图URI

时间:2014-12-23 11:32:02

标签: javascript google-maps google-static-maps

我看到将snazzymaps.com地图样式转换为静态地图网址的问题,其中亮度和/或颜色的转换不正确。我已阅读this question并在评论中使用了该工具。

以下是问题的一个很好的例子: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

显然更加明亮。显然,有些价值已经关闭,但我不确定是哪一个。通过修改vals,我可以通过将gamma调整为0.9并将亮度调整为10来获得与原始结果相似的模糊结果。

我不认为转换存在问题,因为值相同。相反,静态地图服务似乎为相同的值提供不同的结果。有没有人遇到类似的问题?

1 个答案:

答案 0 :(得分:-1)

Google docs for the Static Maps API为地图样式提供了以下选项:

  • hue
  • 轻盈
  • 饱和度
  • gamma
  • 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