Looking at the code used in the OP, ggmaps does not require a dependy on a different program (and it also used a .dll, which may make it difficult to use cross-platform as well.). ggmaps also used ggplot2 syntax, making it easy for style customization which I don't see in the original code.
Although, using a shapefile adds another R package dependency, but not much more LOC. Alternatively, use the maps package, which also contains data for reconstructing popular maps like the world map used.
F# and its Type Providers have a strong cross platform story. http://fsharp.org/use/linux/ All the dlls referenced in the OP work on non windows platforms.
The benefit of using a Type Provider over an CSV is it provides a strongly typed api to the data. Which gives you tooling (IntelliSense) and makes it hard to impossible to have type errors.