Searches happen by neighbourhood and by station
Nobody in London searches for "pub in London". They search for "pub near Clapham Common", "Sunday roast Hackney" or "pub near London Bridge station". Google reads the searcher's location and the words they use, then decides which pubs within a few hundred metres deserve the map pack. If your Google Business Profile does not name your neighbourhood, your nearest station and what you actually serve, you are competing for a position you have not entered.
That is why each London area has its own page on this site. A pub on Brick Lane and a pub in Richmond have almost nothing in common online. The borough, the postcode, the nearest Tube or Overground stop and the local landmarks all need to appear in your copy, your photos and your listing categories.
How local SEO works for pubs