Про GPS и AGPS говорить не будет - тут понятно, устройство само отправляет свои координаты.
Что касается кабельного соединения.
Давайте на простом примере.
Существует провайдер, который обслуживает несколько районов. Также, провайдер является владельцем нескольких подсетей типа C (блок из стоящих последовательно 256 реальных IP адресов). Допустим, что на каждый район провайдер ставит один роутер (маршрутизатор), которому присваивается группа из, скажем, 32 IP адресов. В районе может быть, скажем 5-10 микрорайонов, куда ставится первичный роутер, к которому и подключаются пользователи. Этот роутер имеет свой собственный реальный IP, имеет связь с главным роутером района и т.д. Вся информация записана на роутере района или на головном роутере компании, куда и приходит интернет от глобального провайдера. Вся эта древовидная структура создается самим провайдером для своего собственного удобства в первую очередь, чтобы пользователя или устройство было легко найти и идентифицировать.
Что видит интернет: что запрос пришел с одного из IP адресов данной компании, закрепленный за таким-то микрорайоном, входящим в такой-то район.
Т.е. по итогу гугл определяет ваше местоположение по таблице маршрутизации вашего провайдера