Unable to convert to geopoint

Hello,

I am currently using the geoip filter to generate geopoints. However, when it is fed into Elasticsearch, the type for geoip.location is number, which I am assuming is float. I need it to be geo_point in order to visualize it on the map.

This is the filter I am using
geoip {
source => "src_ip"
add_tag => [ "geoip_success"]
}

This is my template

{
  "logstash": {
    "order": 0,
    "version": 50001,
    "template": "logstash-*",
    "settings": {
      "index": {
        "refresh_interval": "5s"
      }
    },
    "mappings": {
      "_default_": {
        "dynamic_templates": [
          {
            "message_field": {
              "path_match": "message",
              "mapping": {
                "norms": false,
                "type": "text"
              },
              "match_mapping_type": "string"
            }
          },
          {
            "string_fields": {
              "mapping": {
                "norms": false,
                "type": "text",
                "fields": {
                  "keyword": {
                    "type": "keyword"
                  }
                }
              },
              "match_mapping_type": "string",
              "match": "*"
            }
          }
        ],
        "_all": {
          "norms": false,
          "enabled": true
        },
        "properties": {
          "@timestamp": {
            "include_in_all": false,
            "type": "date"
          },
          "geoip": {
            "dynamic": true,
            "properties": {
              "ip": {
                "type": "ip"
              },
              "latitude": {
                "type": "half_float"
              },
              "location": {
                "type": "geo_point"
              },
              "longitude": {
                "type": "half_float"
              }
            }
          },
          "@version": {
            "include_in_all": false,
            "type": "keyword"
          }
        }
      }
    },
    "aliases": {}
  }
}

I added the following but it's still not showing up as geo_point

mutate {
            add_field => { "[geoip][location]" => "%{longitude}" }
            add_field => { "[geoip][location]" => "%{latitude}" }
        }

In my mapping, I see this

"latitude": {
"type": "float"
},
"location": {
"type": "float"
},
"longitude": {
"type": "float"
},

I have deleted both my templates and index multiple times to try to get it to work, but nothing so far.

Help is appreciated.

Thanks

https://www.elastic.co/blog/geoip-in-the-elastic-stack has a bunch of troubleshooting steps that might be handy

I initially followed this blog post, but it didn't work. Which is why I started to look into my templates, mappings, etc...

I have just modified my filter to follow exactly like the blog again, but as shown below, it is still showing up as numeric, and not geo_point. Which makes no sense to me especially if my template matches the one in the blog.