Nie ma sposobu zmuszenia API do użycia określonej metody lokalizacji. Są na poziomie powyżej kontroli "sprzętowej". O ile mi wiadomo, wszyscy oni po prostu starają się uzyskać najbardziej precyzyjne/aktualne dane, ale bez żadnej gwarancji, czego będą używać. Możesz użyć opcji enableHighAccuracy z interfejsem Geolocation API, ale nie oznacza to, że będzie korzystał z GPS. Dokumentacja sugeruje, że najpierw spróbuje.
Z dokumentacji:
Atrybut enableHighAccuracy stanowi wskazówkę, że aplikacja chciałby otrzymać jak najlepsze rezultaty. Może to spowolnić czas reakcji lub zwiększyć zużycie energii. Użytkownik może również odmówić tej funkcji lub urządzenie może nie być w stanie dostarczyć dokładniejszych wyników, niż gdyby nie podano flagi. Celem tego atrybutu jest umożliwienie aplikacjom informowania implementacji, że nie wymagają one poprawek geolokacyjnych o wysokiej dokładności, a zatem implementacja może unikać korzystania z dostawców geolokacji, którzy zużywają znaczną ilość energii (np. GPS). Jest to szczególnie przydatne w przypadku aplikacji działających na urządzeniach zasilanych bateryjnie, takich jak telefony komórkowe.
http://dev.w3.org/geo/api/spec-source.html
P.S Unikaj Google Gears, ponieważ jest od stanu EOL.
Możesz dodać link do dokumentu, który skopiowałeś. – Basic
Niezwykle niewybredny ze mnie ... http://dev.w3.org/geo/api/spec-source.html –