Esto realmente no resuelve la raíz de su problema, pero mi estrategia para manejar esto es establecer un punto de ubicación predeterminado que utilizo de inmediato (sin esperar a que se responda la pregunta de geolocalización).
Si obtengo una ubicación del usuario, simplemente la cambio a la nueva ubicación. Si recibo un rechazo o no respondo, me quedo en la ubicación predeterminada.
También es mi experiencia que un cliente de escritorio (en mi caso Firefox en una computadora Windows estacionaria) toma mucho más tiempo para responder que un cliente móvil (en mi caso, Safari en iPhone). Me vi obligado a establecer el tiempo de espera en 10 segundos (10000) para dar al cliente de escritorio el tiempo suficiente para responder. Entonces, si tiene un mapa, inicializarlo y centrarlo en una ubicación predeterminada directamente le dará al usuario un mapa en la pantalla mucho más rápido que si tuviera que esperar una respuesta.
¡Buena suerte con su proyecto de posicionamiento!
Mismo problema aquí. Los ingenieros que comentan en el informe de errores hacen un buen punto (su UI debe manejar con gracia el caso donde no se recibió respuesta), pero en mi opinión debería expirar y por lo tanto desencadenar la devolución de llamada de error en ese caso. – brianjcohen