If you really want to tap into this local market, I would suggest building out your Google+ page - add some photos, maybe shoot for some reviews. This should help you rank in the maps section of the results and can be just as good as a natural p1 ranking (it is before just about every result anyways).
However, it does look like your competition (Edinburgh Family Dentistry) is making use of URL keywords to rank (top 3 results) - and it looks rather crowded. Even their Facebook page is making page 1.
Here is where you might have an issue:
1. What could be going on is over stuffing the keyword Edinburgh into the titles of every page. I would suggest keeping this to a few key pages to rank for, rather than informing Google that every single page is addressing Edinburgh. (Even Edinburgh Family Dentistry has a few pages in which they do not site their name/location)
2. While putting location keywords in your titles is a great way to rank locally...you also should include that keyword in your meta descriptions! I noticed that while you have Edinburgh on just about every page...it is lacking in the description. I would advise targeting keywords in both to strengthen keyword signals.
Hopes this helps! Good Luck!
Best,
Christopher