Во многих случаях iOS по-прежнему возвращает местоположение при запросе на устройствах без GPS. Помните, что в первом поколении iPhone не было GPS, но он все еще мог оказывать услуги на основе определения местоположения. iOS будет использовать ряд методов (геолокация IP, skyhook и т. д.), чтобы найти местоположение пользователя, в дополнение к GPS.
В любом случае, чтобы ответить на некоторые ваши вопросы:
2500 запросов в день - на конечного пользователя или, как правило, на IP-адрес. Так что вам не нужно беспокоиться о том, чтобы вас закрыли. Однако вы должны знать, что вам нужно отобразить карту Google, чтобы использовать API, поэтому, если вы используете их API и не используете mapView, у вас могут возникнуть проблемы.
Я не совсем уверен, зачем вам в первую очередь использовать API направлений Google. Если вы можете получить координаты широты / долготы как текущего местоположения пользователя, так и ваших серверов, вы можете просто использовать встроенные в iOS методы CoreLocation, чтобы определить расстояние между ними и принять соответствующее решение ( [CLLocation getDistanceFromLocation] ).