Snazzy Maps styles and Font Awesome icons in the Google Earth Engine code editor.
- 🗺️ Customize your Earth Engine basemap in any script or App
- ✨ Add any style from Snazzy Maps by URL, name, or tags
- 🆒 Add any Font Awesome free icon to your widgets
- ⚡ Asynchronous evaluation for fast, non-blocking execution
Import the snazzy
module into your Earth Engine script.
var snazzy = require("users/aazuspan/snazzy:styles");
Add a style from Snazzy Maps to your map by copying the URL and pasting in your Earth Engine script with snazzy.addStyle
. The second parameter is optional and will be assigned as the style alias (displayed in the top right of the map). If no alias (or null
) is provided, the name of the style on Snazzy Maps will be used.
snazzy.addStyle("https://snazzymaps.com/style/235815/retro", "My Custom Style");
You can also add a style by name rather than URL. However, there may be multiple styles with the same name. snazzy
will always add the most popular style that matches a given name, so use a URL if selecting by name doesn't give you the style you want.
snazzy.addStyleFromName("Retro");
Know the aesthetic or color scheme but don't have a specific style in mind? You can use snazzy.addStyleFromTags
to add a popular or random style that matches your criteria. Just pass in an array of tags/colors and an alias.
snazzy.addStyleFromTags(["yellow", "black", "two-tone"]);
By default, addStyleFromTags
adds the most popular style that matches all your tags, sorted by favorites
, but you can also sort by views
(or random
for a surprise).
var tags = ["colorful", "no-labels", "simple"];
var alias = null;
var order = "random";
var style = snazzy.addStyleFromTags(tags, alias, order);
print(style);
Note that all functions that add styles return the style feature, which can be printed to reveal the URL and other metadata.
By default, snazzy
will add styles to the default Map
object, but you can also pass custom ui.Map
objects.
var insetMap = ui.Map();
snazzy.addStyle("https://snazzymaps.com/style/235815/retro", "My Custom Style", insetMap);
snazzy
supports all of the tags and colors used by Snazzy Maps. To see them in the code editor: print(snazzy.tags)
.
- Tags:
colorful, complex, dark, greyscale, light, monochrome, no-labels, simple, two-tone
- Colors:
black, blue, grey, green, orange, purple, red, white, yellow
ui.Label
and ui.Button
widgets support image icons. Find a free icon from Font Awesome and assign it to your widget with snazzy.icons.setIcon
:
var widget = ui.Button();
var iconName = "fa-dog";
var iconSize = 32;
snazzy.icons.setIcon(widget, iconName, iconSize);
print(widget);
To avoid the icon appearing after the widget is displayed, setIcon
also takes an optional callback function that will be called with the widget after loading, e.g.:
var widget = ui.Button();
var iconName = "fa-dog";
var iconSize = 32;
snazzy.icons.setIcon(widget, iconName, iconSize, function(loadedWidget) {
print("Widget icon loaded!");
Map.add(loadedWidget);
});
-
@adamkrogh is the creator of Snazzy Maps 👏
-
@TC25 wrote a great tutorial on how you can manually add Snazzy Maps styles to the Earth Engine code editor, which inspired this module.