No hay forma de obligar a la API a usar un método de ubicación específico. Están un nivel por encima del control de "hardware". Hasta donde yo sé, todos ellos solo tratan de obtener los datos más precisos y actualizados, pero sin ninguna garantía de qué usarán. Puede usar la opción enableHighAccuracy con la API de geolocalización, pero eso no significa explícitamente que usará GPS. La documentación sugiere que lo probará primero.
De la documentación:
El atributo enableHighAccuracy proporciona un indicio de que la aplicación le gustaría recibir los mejores resultados posibles. Esto puede ocasionar tiempos de respuesta más lentos o un mayor consumo de energía. El usuario también puede denegar esta capacidad, o el dispositivo podría no proporcionar resultados más precisos que si no se especificara el indicador. El propósito de este atributo es permitir que las aplicaciones informen a la implementación que no requieren arreglos de geolocalización de alta precisión y, por lo tanto, la implementación puede evitar el uso de proveedores de geolocalización que consuman una cantidad significativa de energía (por ejemplo, GPS). Esto es especialmente útil para aplicaciones que se ejecutan en dispositivos alimentados por batería, como teléfonos móviles.
http://dev.w3.org/geo/api/spec-source.html
P.S Evitar Google Gears, ya que está en el estado EOL.
Es posible que desee incluir un enlace al documento que ha copiado – Basic
Muy poco pensado de mí ... http://dev.w3.org/geo/api/spec-source.html –