highcharter icon indicating copy to clipboard operation
highcharter copied to clipboard

Bugs in highcharter maps

Open hm-yuan opened this issue 1 year ago • 6 comments

Thanks for this awesome package. However, when I ran the example in highcharter maps, and got error messages as follows. I wonder if there any solution to the bug.

library(highcharter)
hcmap("countries/nz/nz-all")

trying URL 'https://code.highcharts.com/mapdata/countries/nz/nz-all.js'
Content type 'text/javascript' length 36807 bytes (35 KB)
downloaded 35 KB

Error: lexical error: invalid char in json text.
                                       Highcharts.maps["countries/nz/n
                     (right here) ------^

hm-yuan avatar Jun 27 '23 15:06 hm-yuan

I got the same today, this is super new, I have been 0.9.4 version pretty much daily for very long time and never faced that issue before. Must be something on the underlying js lib.

https://code.highcharts.com/mapdata/countries/gb/gb-all.js

This is not A valid JSON.

dylancis avatar Jun 27 '23 18:06 dylancis

I have also been facing the same issue for more than 6 hours. The code was working well in the morning but was giving same lexical error from today evening for all kinds of maps provided by highcharts.

sbal0038 avatar Jun 27 '23 18:06 sbal0038

I digged a bit more and found that the download_map_data() would need a fix: The JSON string parsed in:

mapdata <- jsonlite::fromJSON(mapdata, simplifyVector = FALSE)

Contains Highcharts.maps[\"countries/pt/pt-all\"]= at the beginning and I believe this is causing the corrupted JSON.

The line here: https://github.com/jbkunst/highcharter/blob/b53834c3b7e71e03741cd68b1c3595e75b0e79ef/R/highmaps.R#L188C20-L188C20 Needs to be changed with:

mapdata[1] <- gsub(".*]=", "", mapdata[1])

I tested and it works but a PR would be required.

dylancis avatar Jun 27 '23 19:06 dylancis

https://github.com/jbkunst/highcharter/pull/798

dylancis avatar Jun 28 '23 08:06 dylancis

Also experiencing this which is causing a few scheduled reports to fail. Thank you @dylancis for the solution. Hoping pull request can be approved soon. Thanks @jbkunst for the amazing package!

rmcarder avatar Jun 29 '23 15:06 rmcarder

Highchart went back with the earlier .js version, the issue is gone and no code change is required.

dylancis avatar Jul 03 '23 11:07 dylancis