Вы пробовали использовать getCurrentPosition или watchPosition в Chrome (версия 65.0.3325.162) с рабочего стола? До этой версии все работало отлично. Теперь при первой загрузке он работает, потом очень медленно и в большинстве случаев не работает. Почему это происходит? Вы можете попробовать это на любой демке, например https://html5demos.com/geo/






Похоже, это результат изменения в Chrome, описанного в https://bugs.chromium.org/p/chromium/issues/detail?id=820945#c8
Добавление соответствующих опций timeout и / или maximumAge к объекту PositionOptions, переданному в getcurrentPosition и др., Должно исправить это.