Region Map not showing

Ya, I know there is a few questions related to custom GeoJSON file not loading etc...But my situation is a bit weird...

I attempted my own GeoJSON file but can't get it to show as an option at the Vector Map field in Region Map. After some numerous failed attempt, I decided to try on the sample in the blog which is the Australian map.

So, current ES ver. is 7.5, same goes for Kibana. Below is my config in kibana.yml:

   map.regionmap:
   includeElasticMapsService: false
   layers:
      - name: "Australian States"
        url: "http://xx.xx.xx.xx:8000/aus_state.geojson"
        attribution: "https://exploratory.io/maps"
        fields:
           - name: "STATE_NAME"
             description: "State Name"

I'm using http-server to host the GeoJSON file that I downloaded.

Here is the thing:

  1. NO CORS ERROR recorded.
  2. Can download the mapfile just fine during Kibana Region Map loading, status 200.

Data load fine too, but still No option shows under Vendor Map field...

Desperately need some help here...

This is a common question. One possible answer may be here.

I tried.

In fact both http-server --cors='' -p 8000* and http-server --cors="kbn-version" -p 8000 give the same behavior, in which if I use Developer Tools in browser, I can see the GeoJSON file successfully downloaded, just won't show as an option...

Below is the screenshot:

Whereby if I close the hosting server, Kibana shows this error:

Hence I deduce that most probably is not CORS error anymore, but something else, but I just not sure what...

Is there a possibility of a bug in Kibana itself? As this phenomenon did lodged before in Github:

Region map vector map list empty in v5.5.2

Even though the issues is closed, it maybe happen again?

Hi @zidane28. Sorry, I am unable to recreate the issue in 7.5.

Here are some things to check.

  1. Every name parameter in the fields array in your configuration must exist as properties in the GeoJSON file.
  2. Your GeoJSON file must have entirely polygon or multipolygon features.

Is it possible to share your configuration? The configuration you shared in the first post must be configured to your dataset. That is merely an example.

Here is an example where I configured my Kibana to show a self-hosted GeoJSON file that I downloaded from here.

map.regionmap:
      layers:
       - name: "self-hosted boundary"
         attribution: "osm"
         url: "http://localhost:5555/denmark_regions_v1.geo.json"
         fields:
          - name: "iso_3166_2"
            description: "ISO 3166-2"
          - name: "label_en"
            description: "label"
  1. For the example mapfiles, which is Australia States in this case, there is a properties named STATE_NAME, in this case same with the 'name' parameter as you said.
  2. Well, I downloaded the mapfile from https://exploratory.io/map, as per in the blog, so I can assume the mapfile have the polygon or multipolygon features.

I originally setup our own mapfiles, but it doesn't work, hence I use the example in the blog instead, because I want to troubleshoot to see what is the cause, if the example works, then most probably is our own map file at fault, but now...Even example provided in the blog not working as well...

Hence my config is almost the same as in the blog post (almost is due to some config changes between ver 6 and 7)

May I know what web server you are using? I'm currently using http-server as per the blog suggests.

I had attempted as well the mapfile from your reply, the denmark map, still the same issue.

map.regionmap:
includeElasticMapsService: false
layers:
   - name: "self-hosted boundary"
     url: "http://10.20.53.59:8000/denmark.geo.json"
     attribution: "osm"
     fields:
        - name: "label_en"
          description: "Label"

I change the mapfile name as it is too long.

Hi @zidane28,

I used http-server as well. Specifically this command from the directory where I downloaded the file.

npx http-server --port 5555 --cors="kbn-verson"

Can you share specifically which version of 7.5 you are running? 7.5.0 or 7.5.1? I am running 7.5.1.

I first use ver.7.5.0, have this same prob, then I upgrade to 7.5.1, then still same problem...

I had use the same line of command as per your reply, I even change the port number to match yours, but the prob still persists...Below is the screenshot of my http-server:

Just so u know, I hosted the http-server on the same machine as ES + Kibana. Weird thing is, somehow Kibana can't detect localhost or 127.0.0.1, it must use the IP of the server itself. Originally I set the http-server on another server, but it doesn't work so I switched for hosting the mapfile on the same server as Kibana, but I don't think this is the cause of the issue...

Below is my kibana.yml config, minus some confidential info:

server.port: 5601
server.host: "0"
server.name: "Kibana ver.7"

logging.dest: /var/log/kibana/kibana.log

xpack.monitoring.ui.container.elasticsearch.enabled: true
elasticsearch.username: "<>"
elasticsearch.password: "<>"

map.regionmap:
   includeElasticMapsService: false
   layers:
      - name: "self-hosted boundary"
        url: "http://10.20.53.59:5555/denmark.geo.json"
        attribution: "osm"
        fields:
           - name: "label_en"
             description: "Label"

server.cors: true
server.cors.origin: ['*']

Problem same means no error on downloading the map, no error on console message other than:
Kibana Console Message

From the tones of yours, it sounds like your Kibana don't have this issues, so why mine have... :cry:

Or, there is some extra steps that I had missed? Meaning for example adding custom map config in Kibana.yml alone is not enough?

Any help here...? :cry:

Apologies. I'm still checking on this. Please don't despair. We will figure it out.

Thanks...

One thing kinda interesting is that, my colleague, who testing using ES Docker manage to get it work as intended...Hosted on local docker, Windows 10 machine.

While I try another diff approach in which I download both ES and Kibana zip, host on my local machine, Windows 10 as well, host http-server on my local as well, still same problem...

Update: My manager tried on its Mac machine, docker Kibana, same problem.

Can you tell me whether you are using the open source or the default distribution of Kibana. If you are using the default distribution, can you add your file in the Elastic Maps application? It should be available in the Add Layer menu under "Configured GeoJSON".

  1. Default distribution of Kibana
  2. Yes, I can add the file in Elastic Map application.

But I still can't generate region map from it?