Let users filter map

Hi there,

Is there an option to let users filter objects in the map?
I have a map with some markers (10-15) and there are 4-5 different “categories”.
Would like to let users filter out so it only shows one chosen category at a time.

Kindly

@parksidecreator Yes, there are ways to filter maps results. You can simply tell the map component to filter based on input or dropdown value. I’ll attached a screenshot of my setup. On my map screen, I have two potential inputs that users can filter by: a text input (search value) and a dropdown that narrows the map results by a specific city. Additionally, I added a third filter that eliminates showing markers for businesses that lack an actual street address: for instance, a business that doesn’t have a brick-and-mortar location, a food truck or some other business that does mobile or on-call service only. So for those businesses that won’t show on the map due to lack of street address, they’ll still show in a list view and at least show the city they service.

And to explain my “Search Index” field that my screenshot says it’s filtering by, I have a field within my business listings database that takes business name, categories, keywords, description, and any other field I want and populates them in one location. So imagine having a user sign up and fill out a form for their business…they’ll put in their info, which would go to two locations: 1) the actual fields they belong to, which would be publicly visible in a list and 2) the search index field, which is hidden, has all the info in one place and is only used for filtering and search purposes.

Hi there,
I was struggling to get my map component to filter until I ran across this post. I was using:

image

but I noticed you use “CONTAINS” (whereas I was using “Is EQUAL to”) and so I switched it and worked!

Any idea why the Equals doesn’t work? The zip codes are both Text elements.

Thanks!

Hi @bmj5205 :wave:

Welcome to the community :partying_face:

This will help you.

Check Logical Operators section.

Thank you

Hi there @dilon_perera and thanks for the welcome!

I checked the manual and saw:

Is equal to - This operator is case sensitive and the two pieces of text must match each other exactly - even if there is a hidden return or space in the text. This operator is very strict.

and the data I have is just a text string representing a zip code: 11372
I went back and checked and made sure there was no spaces in the records that have this data yet the “Is equal to” is still not matching them. I even copy/pasted the string back in from notepad into all locations in my data records.

Is there a hidden null/nil/space or \0 that I’m not catching?

2 Likes

Be sure to have cleared space before and/or after the zip code in both the properties and the condition-field.

Good luck,
B

1 Like

Have a look at this answer it might do the trick.

Hi
Thanks for responding. The condition-field doesn’t have any constant. It’s just the variable as shown here:
image

and you can see below that this is all the selectable text in that field:

image

But if I switch from “Is Equal To” to “Contains”, this works.

So if that zip code some part is include in logged in user zip code then that locations will show. ( No Case Sensitive )

But is equal is that correct zip code has to match with logged in user’s zip code. ( Case Senstive)

Hope it helps!

Thank you

Hi,
The “Is equal to” seems to work fine with text. If I change my filter to this:

image

the map shows the events I want. So great!

But if I change the filter to this:

image

the geocoding fails. even though what’s stored in Users Record > UserZip is exactly the same text (11372). No markers at all are shown… ¯_(ツ)_/¯