The problem with percentages is, the numeric value should correspond to something. I mean, if you have say 39%, how is it different from 42%. Is it a significant change? (This puts a pressure on polling logic as well, considering there are 100 steps for each place needs to be synced and notified. This is a technical aspect but may have an effect on performance if changes are very frequent). How percentage at one place translate to percentage of other place? I mean if two places are 70%, should you be alarmed for both cases? At a glance I would make it more intuitive by segregation based on a colored icon. If user taps on red icon, then you can probably give more information.
Also, I would be wary of using just color as an option. If I have to, I would make sure those are drastically different shades and does not involve many color values. I would also make sure I verify the colors with simulations targeting different color deficiencies.
Here is something I could come up with for detail view. For Map view you can keep pins of the same colors. Needless to say, It needs a lot of polish and better implementation.
Little caveat being, it should be pretty evident that those different pins indicate the same type object with different state. The implementation should not confuse user about those pins denoting entirely different type of things on the map.
A more radical thought, would be to design inversely. Since these are pubs I am assuming that it has to do something with entertainment. So instead of red denoting 100% I would inverse the scales to denote something low as the alarm state, and full would indicate all is good. But this is just a radical thought, I don't even know your use case exactly, so you can very well completely ignore this.