Я думаю, что вы получаете разные результаты, так как вы упускаете из виду аспект времени. GPS использует много батареи и запускается только по команде.
HTML5 getCurrentPosition делает снимок координат, прежде чем GPS сможет точно «зонировать» вашу позицию. Приложение Google Maps, с другой стороны, запускается, а затем отслеживает вашу позицию, точность увеличивается со временем (вы все знаете, как движется маркер). HTML5 также поддерживает эту функцию отслеживания позиции.
Примечание! По моему опыту работы с iPhone, устройство на самом деле будет сохранять вашу позицию в течение некоторого времени, а это означает, что если я запущу Google Maps и оставлю его «в зоне» на моей позиции, закройте его, а затем запустите мое веб-приложение и используйте getCurrentPosition, которое я получаю. одинаково точное чтение.
Точность заключается в том, чтобы позволить GPS делать свое дело.