如何在 Google 地图 api 中使用文本和数字过滤参数

how do I filter parameter with text and number in Google Map api

我正在尝试制作一张根据特定参数过滤标记的地图。最初我有 2 个下拉过滤器和一个输入过滤器。仅输入过滤器编号。 我的阵列看起来像:

['Belmont', 42.4135648, -83.1775028, 'A', '48227, 48235, 48219, 48223', 'Female', 'veteran'],

现在我想通过将所有参数组合在一起来简化工作,我的新数组将类似于以下内容:

['Belmont', 42.4135648, -83.1775028, 'A', '48227, 48235, 48219, 48223 , Female ,veteran'],

我让所有这些过滤器分开工作,示例如下。

https://jsfiddle.net/gf9o3k0q/2/

所以我有我的代码:

if (
      (gender == "All" || marker.gender == gender) &&
      (people == "All" || marker.people == people) &&
      (serviceSearchTerm !== null && serviceSearchRegx.test(marker.service))
    ) visible = true;

仅更改为:

if (

      (serviceSearchTerm !== null && serviceSearchRegx.test(marker.service))
    ) visible = true;

在我输入任何值后没有任何显示。我希望用户只输入该参数中的一个值。 例如他们只输入女性、退伍军人或 48337 以显示该点。

任何帮助将不胜感激

中解释的实际问题可以通过不区分大小写的字符串比较轻松解决。

看看这个 fiddle:http://jsfiddle.net/adgLr4ot

键入 "female" 或 "Female" 或 "FEMALE"。一切都会起作用,因为 toUpperCase() 使 document.getElementById("zipcode_filter").valuemarker.service 大写值被认为是相等的。因此,无论用户输入大小写如何,都可以过滤标记。

查看相关的 SO 问题以了解更多信息:How to do case insensitive string comparison?

保持良好的工作和学习之旅!