Para dar una respuesta un poco más específica. HTML5 le permite obtener las coordenadas geográficas, y hace un trabajo bastante decente. En general, el soporte del navegador para la geolocalización es bastante bueno, todos los principales navegadores excepto ie7 y ie8 (y opera mini). IE9 hace el trabajo pero tiene el peor desempeño. Pagar caniuse.com:
http://caniuse.com/#search=geol
También necesita la aprobación de su usuario para acceder a su ubicación, así que asegúrese de verificar esto y dar algunas instrucciones decentes en caso de que esté apagado. Especialmente para Iphone activar permisos para Safari es un poco engorroso.