In one of the other sentences, "ved" translated as near. In this one, my answer of "Are you near the restaurant?" was not accepted. I reported it, but then also wondered, would this be an acceptable translation?
"At" because the restaurant is viewed as a place where something is done - somebody is working, dining there etc. If he's sheltering from the rain, or the police, he'd be "in/inside" the restaurant; if he's outside it waiting to be picked up he'd be "by" or "next to" it.