google-maps-services-python icon indicating copy to clipboard operation
google-maps-services-python copied to clipboard

Static maps style only accepts a dict instead of a list of dict

Open raj-abodey opened this issue 1 year ago • 2 comments

I am trying to create a static map with different styles. I would like to turn some poi features off and others on. However, the current approach only accepts a dict and only renders one feature set.

In here (https://github.com/googlemaps/google-maps-services-python/blob/master/googlemaps/maps.py), style is supposed to accept list of dict. However, convert (https://github.com/googlemaps/google-maps-services-python/blob/master/googlemaps/convert.py#L208) only accepts a dict.


Steps to reproduce

Code example

for chunk in gmaps.static_map(
        size=(1024, 1024),
        center=base_address_location,
        style=[
            {
                "feature": "poi.business",
                "visibility": "off",
            },
            {
                "feature": "poi.schools",
                "visibility": "off",
            },
            {
                "feature": "poi.restaurants",
                "visibility": "on",
            },
        ],
        zoom=15,
        format="png",
        markers=marker,
        maptype="roadmap",
    ):
        if chunk:
            f.write(chunk)
    f.close()

Stack trace

    raise TypeError(
TypeError: Expected a dict for components, but got list

raj-abodey avatar Feb 15 '24 22:02 raj-abodey

If you would like to upvote the priority of this issue, please comment below or react on the original post above with :+1: so we can see what is popular when we triage.

@raj-abodey Thank you for opening this issue. 🙏 Please check out these other resources that might help you get to a resolution in the meantime:

This is an automated message, feel free to ignore.

wangela avatar Feb 15 '24 22:02 wangela

I have the same issue - I need to pass multiple styles. It's important enough that it means I can't use this library until this problem is fixed - I'll just have to construct the URL manually in the meantime.

ofer-pd avatar Jul 19 '24 03:07 ofer-pd