The browser security will not allow this. This is why you need to have some sort of server to fetch the file from and it needs to be in a special format to not fail the browser security checks. This format is called JSONP.
Not sure what the point is in using this plugin if you do not have a query? The locations file has to be correlated to the query results. For example: if I have a location which is Paris, France and a query that returns Paris -> 10, then on Worldmap a circle will be drawn over Paris with a value of 10 (the size will be relative to other values on the map).
Not sure what you mean here exactly. The query data from your timeseries database and the location data are both JSON. And which endpoint do you mean? Do you mean what is the difference between the query result from your database and the locations? (if so then see below)
At the moment, it sounds like you have no location data loaded (and possibly do not have a working query either? You do not say which database you are using). You can see the data returned from your timeseries db by using the Query Inspector (if you are on a recent version of Grafana). This is an example of a Graphite query:
The location data you will have to find in the Chrome Developer Tools:
To work the Target field from the Graphite query has to match the
key field in the locations data.
If all of the above looks correct, then you can check the developer console in your browser and see if there are any errors.