The confusing part of making this work was that the coordinates parameter needs to be converted to a string before passed into the graph API.
originally I was doing this which seems obvious
but here is how you need to use it; convert the coordinates map into a string before passing it into the graph API.
Also be sure to set the extended permission to allow for publishing checkins
See these links for additional information