You likely need to put your function that gets the current weather on a timeout. The coordinates are captured, but it is likely just taking a short time longer than it takes your code to call report.location
to fire.
You can check to see that the report.location
variable is being set without calling a subsequent function using the debug console. Here is a post about how you can access view variables.